如何计算两个或多个输出变量的回归系数?

63(30天)
可能对我来说有两个输出变量使用多元线性回归?例如,计算平均自由关节角之间的系数(x1 =臀部,x2 =膝盖,x3 =脚踝)作为预测变量(X)和平均自由脚质量中心的变化作为一个结果变量(y)轴维度(y1)和轴维度(y2) ?
然后我输入数据y1 + y2 = y和使用B = X、y ';方程的系数估计给我[2 x 3]矩阵(即2列的x和y轴和3行臀部、膝盖和脚踝关节)?
任何帮助将不胜感激。
3评论
骑自行车的人
骑自行车的人 2012年9月8日
你Y数组会留在相同的格式,但mvregress()函数需要一个特定单元阵列格式的输入x我的充分披露 在使用这个函数,我只能建议你钻研的例子
> doc mvregress
理解语法。同时,我发现这个例子支持网站:万博1manbetx
我希望这些会有所帮助。

登录置评。

接受的答案

骑自行车的人
骑自行车的人 2012年9月5日
编辑:骑自行车的人 2022年11月23日
你有统计工具箱吗?mvregress()函数的回归类型你想要的。
这是一个详细的,评论的例子使用mvregress ()。特别是,我给三个不同的“设计矩阵”的例子,对应于不同的选择回归的参数是独立的。
选择# 1 y1和y2单独的回归,这意味着你估计的回归参数独立y1和y2。(这个选择也对应提供的解决方案,明星黾和格雷格·希斯)。注意,我复制这个矩阵解决方案作为“beta_alternative”代码,显示了相同的结果。
# 2和# 3是不同的选择,选择的拦截和/或整个回归斜率参数共享。
台= (65 71 63 67;
72 77 70 70;
77 73 72 70;
68 78 75 72;
81 76 89 88;
73 87 76 77);
X =(资源(:,(1 2));
Y =(资源(:[3 - 4]);
[N M] =大小(Y);
%,因为我们的目标数据是多维的,我们需要首先把我们的
%预测数据转换为(N x 1)单元阵列,每一个细胞观察。
%(在这个例子中,N = 6)。每个单元格都包含所需的设计矩阵,
%的拦截和独立变量的观察。
%在每个单元,每个维度都有一行(M)在y(在这个例子中,M = 2。)
pred_cell =细胞(N, 1);
i = 1: N,
%选择的三个设计矩阵如下:
%(1)为每个N点,建立一个设计矩阵指定
%不同的拦截和不同的斜坡上。(这相当于
%做独立y1和y2)。这将导致6贝塔。
pred_cell{我1}= [1 0 X(我,1)0 X(我,2)0;
0 1 0 X(我,1)0 X(我,2)];
% % N(2)为每个点,建立一个设计矩阵指定
% %不同的拦截,但常见的斜坡上。这将使得
% % 4贝塔。
% pred_cell{我1}=[眼(2),repmat (X(我:),2,1)];
% %(3)的N点,建立一个设计矩阵指定
% %共同的拦截和共同的斜率。这将导致2贝塔。
% pred_cell{我1}= [repmat ([1 X(我:)],M, 1)];
结束
%结果通过解释性变量(X)和反应(Y) MVREGRESS使用
%的单元格格式是一个向量的β权重。
β= mvregress (pred_cell, Y)% #好< NASGU NOPRT >
β= 6×1
-37.5012 -21.4323 1.1346 0.9409 0.3795 0.3514
%每一行的回归是独立的(从上面的设计矩阵的选择# 1)
% algegra也可以用这个简单的矩阵:
beta_alternative = [(N, 1)的X] \ Y% #好< NOPRT NASGU >
beta_alternative = 3×2
-37.5012 -21.4323 1.1346 0.9409 0.3795 0.3514
这个例子中有2个解释变量和2反应。好“家庭作业”锻炼你会如果你能成功地推广这个有3解释变量。

答案(1)

格雷格·希斯
格雷格·希斯 2012年9月5日
如果
我[N] =大小(X)
[N O] =大小(Y)
线性模型
Y = [(N, 1)的X] * B
在哪里
B = Y / ((N, 1)的X)
[I + 1 O] =大小(B)
希望这个有帮助。
格雷格
2的评论
蒂姆·班尼特
蒂姆·班尼特 2012年9月6日
谢谢你的回复。我难以定义B和Y使用你的代码。例如定义Y时使用:
Y = [(N, 1)的X] * B
Matlab报告:? ? ?未定义的函数或变量“N”?
任何帮助将不胜感激。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!