【发布时间】:2016-01-27 23:58:22
【问题描述】:
在 3D 平面中绘制此模型的数据:y = a + a1*x1 + a2*x2 我喜欢这个,图在这个网站(http://kr.mathworks.com/help/stats/regress.html),x1、x2、y分别表示向量X、Y、Z。
scatter3(x1,x2,y,'filled')
hold on
x1fit = min(x1):100:max(x1);
x2fit = min(x2):10:max(x2);
[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);
YFIT = b(1) + b(2)*X1FIT + b(3)*X2FIT + b(4)*X1FIT.*X2FIT;
mesh(X1FIT,X2FIT,YFIT)
xlabel('Weight')
ylabel('Horsepower')
zlabel('MPG')
view(50,10)
我的问题是如何在 3D 中绘制具有 3 个变量的模型: y = a + a1*x1 + a2*x2 + a3*x3 ? 我使用下面的代码来获得线性模型
X2 = [ImageSize Resolution PSNR];
lm3 = regress(K_Number, X2);
a1,a2,a3 X2 向量。
【问题讨论】:
-
您能否提供一些样本数据,以便我们制作图表并向您展示?如果您可以发布您所追求的图像,那也很好。
-
@kkuilla 我已经编辑了我的问题,你能帮我再检查一遍吗!!!
-
唯一的方法是为每个 3D 点分配一个颜色值。这本质上是一个 4D 功能 -
(x1,x2,x3) -> y除非您作弊,否则显然无法在物理上可视化,例如绘制 3D 网格并为每个 3D 点分配颜色。如果这是你想要的,那么我可以写一个答案。 -
@rayryeng 本教程中的示例正是我想要做的。 MPG 是响应,X = [Weight,Horsepower,Acceleration] 是预测向量。他们如何在平面上表示这些数据?我怎样才能用这样的系数绘制线性模型 y ~ 1 + x1 + x2 + x3 ???如果不可能,你能不能帮我写一个答案!!!
-
不可能创建具有三个自变量的平面。除非你像我说的那样作弊,否则它无法在视觉上创建。您基本上必须像
meshgrid/ndgrid给出的那样定义一个 3D 网格,将每个唯一的三元组值放入回归公式中,然后查看输出是什么。此输出将为您提供颜色图上的颜色。这将是一个点的 3D 立方体,其中每个点都根据颜色图着色。颜色为您提供了输出预测值的指示。
标签: matlab regression linear-regression