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...

采纳的回答

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