How can I avoid error in mnrfit line 164?

조회 수: 9 (최근 30일)
Shiladitya Sen
Shiladitya Sen 2013년 7월 19일
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...

채택된 답변

Wayne King
Wayne King 2013년 7월 19일
편집: Wayne King 2013년 7월 19일
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 2013년 7월 19일
In that case, how should I perform logistic regression on a sparse dataset like this?

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

추가 답변 (1개)

Thomas
Thomas 2013년 7월 19일
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

카테고리

Help CenterFile Exchange에서 Event Functions에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by