【问题标题】:how to plot the data for linear model with 3 variables in matlab?如何在matlab中绘制具有3个变量的线性模型的数据?
【发布时间】: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


【解决方案1】:

我将创建一个函数来根据三个输入 (y,x1,x2) 求解方程 (functionSolver) 定义您关心的区域的网格

y = -100:1:100;
x1 = -50:0.05:25;
x2 = 10:0.5:100;
(outx, outy, outz) = functionSolver(x1,x2,y); However you defined this
plot3(outx, outy, outz); This will plot the output as defined in your grid.

【讨论】:

  • 感谢您的帮助,但我的问题与 3 个变量的线性模型有关,我的意思是绘制数据,我需要输入至少 4 个参数(y、x1、x2、x3、x4 )???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2022-07-23
  • 2015-07-21
相关资源
最近更新 更多