2011-11-08 36 views
0

我正在使用scatter3d来找到适合我的R脚本。我这样做了,这里是输出:从scatter3d R脚本输出 - 如何读取公式

Call: 
lm(formula = y ~ (x + z)^2 + I(x^2) + I(z^2)) 

Residuals: 
    Min  1Q Median  3Q  Max 
-0.78454 -0.02302 -0.00563 0.01398 0.47846 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) -0.051975 0.003945 -13.173 < 2e-16 *** 
x   0.224564 0.023059 9.739 < 2e-16 *** 
z   0.356314 0.021782 16.358 < 2e-16 *** 
I(x^2)  -0.340781 0.044835 -7.601 3.46e-14 *** 
I(z^2)  0.610344 0.028421 21.475 < 2e-16 *** 
x:z   -0.454826 0.065632 -6.930 4.71e-12 *** 
--- 
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Residual standard error: 0.05468 on 5293 degrees of freedom 
Multiple R-squared: 0.6129, Adjusted R-squared: 0.6125 
F-statistic: 1676 on 5 and 5293 DF, p-value: < 2.2e-16 

基于此,最佳拟合线的方程是什么?我不确定如何阅读这个?有人可以解释吗?谢谢!

+0

我将开始与'lm'?这是'lm'函数的帮助文件 – Stedy

+0

我建议你使用[rsm R pacakge](http://cran.r-project.org/web/packages/rsm/index.html)。 – MYaseen208

回答

1

这不是一个平面,而是一个抛物面(使用“Y”作为第三个维度,因为你用“Z”的话):

y = -0.051975 + x * 0.224564 + z * 0.356314 + 
      -x^2 * -0.340781 + z^2 * 0.610344 - x * z * 0.454826 
2

这是一个基本的回归输出表。参数估计值(“估计”列)是与模型中不同项相对应的最佳拟合线性系数。如果你不熟悉这个术语,我建议你阅读一些线性模型和回归教程。网络上有成千上万的人。我也鼓励你玩一些简单的2D模拟。

例如,让我们做一些数据为2的拦截和0.5的坡度:

# Simulate data 
set.seed(12345) 
x = seq(0, 10, len=50) 
y = 2 + 0.5 * x + rnorm(length(x), 0, 0.1) 
data = data.frame(x, y) 

现在,当我们在看合适,你会看到,估计值列显示了这些相同的价值观:

# Fit model 
fit = lm(y ~ x, data=data) 
summary(fit) 
> summary(fit) 

Call: 
lm(formula = y ~ x, data = data) 

Residuals: 
    Min  1Q Median  3Q  Max 
-0.26017 -0.06434 0.02539 0.06238 0.20008 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) 2.011759 0.030856 65.20 <2e-16 *** 
x   0.501240 0.005317 94.27 <2e-16 *** 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1107 on 48 degrees of freedom 
Multiple R-squared: 0.9946, Adjusted R-squared: 0.9945 
F-statistic: 8886 on 1 and 48 DF, p-value: < 2.2e-16 

拉出来这些,我们就可以绘制最佳拟合线:

# Make plot 
dev.new(width=4, height=4) 
plot(x, y, ylim=c(0,10)) 
abline(fit$coef[1], fit$coef[2]) 

enter image description here

+0

但我没有lm对象,我有一个scatter3d对象 – CodeGuy

+2

lm摘要是scatter3d返回的内容的一部分。您可以像访问命令行中的模型一样访问其所有元素。我会高度推荐为这种类型的东西选择一本介绍R书。有很多,他们都彻底涵盖了这些基础知识。另请看CRAN上的许多免费文本:http://cran.r-project.org/other-docs.html。或者谷歌的“r回归示例指南教程”的一些组合。 –