2016-12-05 4 views
1

Прежде всего позвольте мне сказать вам, что я очень новичок в R, поэтому мой вопрос может показаться вам странным, я хочу предсказать вес человека с высоты. Для этого мне нужно найти уравнение линии регрессии (в виде) для решения этой проблемы:Прогнозирование с уравнением регрессии в R

Вес = перехватывать + (наклон) х высота

Я следующую форму данных?

Любая идея о том, как найти уравнение линии регрессии

dat <- read.table(text = "SampleNo,Height,Weight 
          1,65.78,112.99 
          2,71.52,136.49 
          3,69.40,153.03 
          4,68.22,142.34 
          5,67.79,144.30 
          6,68.70,123.30 
          7,69.80,141.49 
          8,70.01,136.46 
          9,67.90,112.37", 
        sep = ",", header = T) 

ответ

1

Вы можете сделать это с помощью функции lm.

lm1 <- lm(Weight ~ Height, data = dat) 

Я хочу, чтобы предсказать Weight как функция Height поэтому я использую синтаксис Weight ~ Height.

И наконец, я запускаю функцию coefficients на объекте lm1, чтобы получить коэффициент для Height и перехват.

coefficients(lm1) 
    (Intercept)  Height 
    -177.650244 4.525168 

Если я хочу, чтобы предсказать результат для Weight для определенного набора Heights, я могу сделать это с помощью следующих действий:

> predict(lm1, newdata = data.frame((Height = c(65, 68.5, 71.6)))) 
     1  2  3 
116.4857 132.3238 146.3518 

Вы можете получить дополнительную информацию о приступе, используя функцию summary на объекте lm1. Это обеспечит^2 значения R, больше информации об оценках и т.д ...

summary(lm1) 

Call: 
lm(formula = Weight ~ Height, data = vals) 

Residuals: 
    Min  1Q Median  3Q  Max 
-17.239 -9.500 -2.697 11.283 16.634 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|) 
(Intercept) -177.650 193.247 -0.919 0.389 
Height   4.525  2.808 1.611 0.151 

Residual standard error: 13.03 on 7 degrees of freedom 
Multiple R-squared: 0.2705, Adjusted R-squared: 0.1663 
F-statistic: 2.596 on 1 and 7 DF, p-value: 0.1512 

Большой (бесплатно) ресурс для регрессионного и многих других методов машинного обучения в R можно найти here. Это отличная книга, чтобы узнать о статистике и о том, как реализовать эти методы в R.

+0

Каким будет уравнение линии регрессии? – NATS

+0

Мне просто нужно найти уравнение, поскольку я должен оценить вес людей высотой 65 дюймов, 68,5 дюймов и 71,6 дюйма. Так что же было бы уравнением? – NATS

+0

Я имею в виду просто общее уравнение, в котором я просто кладу высоту людей, и это догадывается о весе людей. – NATS