Выход из скрипта scatter3d R - как читать уравнение - PullRequest
0 голосов
/ 08 ноября 2011

Я использую 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

Исходя из этого, каково уравнение линии наилучшего соответствия? Я не совсем уверен, как это читать? Может кто-нибудь объяснить? спасибо!

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Это базовая таблица результатов регрессии.Оценки параметров (столбец «Оценка») - это линейные коэффициенты, которые лучше всего соответствуют различным членам вашей модели.Если вы не знакомы с этой терминологией, я бы посоветовал прочесть учебник по линейной модели и регрессии.В Интернете тысячи людей.Я также рекомендую вам поиграть с некоторыми более простыми 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

1 голос
/ 08 ноября 2011

Это не плоскость, а параболоидная поверхность (и использование «y» в качестве третьего измерения, поскольку вы уже использовали «z»):

y =  -0.051975 + x * 0.224564  + z * 0.356314  +
          -x^2 * -0.340781 + z^2 * 0.610344 - x * z * 0.454826 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...