2011-11-08 40 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迴歸示例指南教程」的一些組合。 –