【问题标题】:Matlab Multiple RegressionMatlab 多元回归
【发布时间】:2011-10-11 13:33:47
【问题描述】:

我有这组变量:

N = 250;

% independent variables[0..10]
x_1 = rand(N,1) * 10;
x_2 = rand(N,1) * 10;

y = ones(N,1); % regresssion variable

y((x_1 + x_2 + rand(N,1) * 2) <= 11) = 2;

我想在matlab中做二元回归,但不知道怎么做,有人可以帮我吗?线性或多项式回归的结果必须在这两个类之间,存储在 y 中。

【问题讨论】:

  • 是您上一个问题的答案:stackoverflow.com/q/6796316/811335 有帮助吗?
  • 是的,是的,但问题是我是 matlab 的新手,而且我不太懂英语来阅读这本书需要很长时间,而我没有时间。这就是为什么我需要一些帮助。
  • 你尝试过 polyfit 函数吗?例如y = polyfit(x1,x2,1)

标签: algorithm math matlab regression polynomial-math


【解决方案1】:

一个或多个“独立”变量,都是一样的。举个例子,几种解决方法:

>>> X= [x_1 x_2];
>>> X\ y
ans =
   0.10867
   0.11984

>>> pinv(X)* y
ans =
   0.10867
   0.11984

查看更多 \ 和 pinv。

Matlab 确实有许多其他方法可以解决最小二乘问题。您可能想详细说明您的具体案例,以便找到最合适的案例。无论如何,以上文档对您来说是一个很好的起点。

编辑:
关于least squares 的一些值得一读的一般信息是wiki 和mathworks

【讨论】:

  • y - 这是类标签(1 或 2),我不认为在没有修改的情况下在这里使用它是正确的。但是我应该做些什么修改呢?
  • @Yekver:首先请完善您的问题(或提出新问题)。没有迹象表明您的问题与分类有关。一个简单的临时解决方案类似于y_hat= round([x_1 x_2]* b); y_hat(y_hat&lt; 1)= 1; y_hat(y_hat&gt; 2)= 2;。谢谢
猜你喜欢
  • 2016-07-11
  • 2015-06-15
  • 2014-09-21
  • 2021-01-04
  • 2011-05-27
  • 2012-03-17
  • 2015-09-17
  • 2013-12-06
  • 1970-01-01
相关资源
最近更新 更多