首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mvregress返回什么?

mvregress返回什么?
EN

Stack Overflow用户
提问于 2015-06-21 05:50:02
回答 1查看 189关注 0票数 1

考虑以下.m代码

代码语言:javascript
复制
x_0 = x(start:start+size);
x_s1 = x(start-2:start+size-2);
x_s2 = x(start-4:start+size-4);
y_0 = y(start:start+size);

XX = [x_0 x_s1 x_s2];

beta = mvregress(XX,y_0); 

在那之后beta是..。

代码语言:javascript
复制
beta =

    0.0851
   -0.0946
    0.0102

但我假设它是一列大小为4的列,因为回归类似于y_t = a + b_1 * x1_t + b_2 * x2_t + b_3 * x3_t。所以我没有得到a

谁能告诉我哪里做错了?

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 22:55:11

请注意,在Matlab语言中,size是一个内置函数,因此您不应将其用作整数...

看起来没什么问题。我们看不到xy,所以我假设它们是列。

根据mvregress文档,beta的大小将为3,因为XX有3列。

如果将X指定为单个n×K设计矩阵,则mvregress将返回长度为K的列向量。例如,如果X是20 x 5的设计矩阵,则beta是5 x 1的列向量。

我不确定您的x数据,但从您编写XX的方式来看,似乎没有恒定的术语(即您所说的a)。如果你想计算一个常量项,你可以在矩阵XX的左边添加一列1。

代码语言:javascript
复制
XX = [ones(size, 1) x_0 x_s1 x_s2];

Beta的大小应该是4,结果应该如下所示:

代码语言:javascript
复制
beta =

    xxxxxx  % this is a
    0.0851  % b1
   -0.0946  % b2
    0.0102  % b3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30959229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档