Handling missing observations while using fmincon

11 visualizzazioni (ultimi 30 giorni)
Selcen Cakir
Selcen Cakir il 12 Nov 2024
Risposto: Matt J il 13 Nov 2024
Hello,
I have data that consists of 70 variables that I observe for 100,000 observations but I don't observe a few of those 70 variables for some random observations and MATLAB codes them as NaN. I'm using fmincon to find the minimum of a function with 70 parameters. My function is of the form f(). When I run the algorithm, I notice that MATLAB does not compute the index function when there is a missing value for one of the k variables for some observation i. How should I handle such missing observations?
Thank you in advance,
Selcen

Risposte (2)

Walter Roberson
Walter Roberson il 13 Nov 2024
Use this kind of structure:
XY = [X, Y];
XY = rmmissing(XY);
Xm = XY(:,1:end-1);
Ym = XY(:,end);
objfun = @(PARAMS) sum((YourFunction(PARAMS,Xm)-Ym).^2);
bestPARAMS = fmincon(objfun, PARAMS0);

Matt J
Matt J il 13 Nov 2024
They should be zeros rather than NaNs, shouldn't they? With zeros, they will make no contribution to the linear part of the prediction.
X(isnan(X))=0;

Categorie

Scopri di più su Descriptive Statistics in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by