MATLAB Answers

How can I avoid error in mnrfit line 164?

조회 수: 9(최근 30일)
I am getting an error message when I use the mnrfit function on a matrix X and Y like this:
X =
1 NaN 2
NaN 3 NaN
NaN NaN 4
6 NaN NaN
5 NaN NaN
Y =
-1
1
-1
1
-1
b=mnrfit(X,Y+2);
Error using mnrfit (line 164)
X and Y must contain at least one valid observation.
I cannot understand why I'm running into such an error...please advise...

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Wayne King
Wayne King 19 Jul 2013
편집: Wayne King 19 Jul 2013
The problem is that you have NaNs in every single row of your X matrix.
As the documentation states:
"mnrfit treats NaNs in X and Y as missing data, and removes the corresponding observations."
Every row in your X matrix is an observation on P predictor variables.
Since you have at least one NaN for every observation, all the observations are removed.

  댓글 수: 1

Shiladitya Sen
Shiladitya Sen 19 Jul 2013
In that case, how should I perform logistic regression on a sparse dataset like this?

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Thomas
Thomas 19 Jul 2013
I'm assuming mnrfit does not like 'NaN' values as its input.
works fine with
x =
0.14 0.66 0.76
0.42 0.04 0.74
0.92 0.85 0.39
0.79 0.93 0.66
0.96 0.68 0.17
y =
-1.00
1.00
-1.00
1.00
-1.00
b=mnrfit(x,y+2)
b =
95.33 47.37
-58.97 -31.76
15.27 6.52
-112.15 -62.24

  댓글 수: 0

댓글을 달려면 로그인하십시오.

태그


Translated by