Handling missing observations while using fmincon

11 visualizaciones (últimos 30 días)
Selcen Cakir
Selcen Cakir el 12 de Nov. de 2024
Respondida: Matt J el 13 de Nov. de 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

Respuestas (2)

Walter Roberson
Walter Roberson el 13 de Nov. de 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 el 13 de Nov. de 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;

Categorías

Más información sobre Descriptive Statistics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by