Генерация функции в R, включая PDF - PullRequest
0 голосов
/ 03 февраля 2019

Как бы я сгенерировал функцию y = 2 + 3 * xi + ei, где ei = iidN (0,3 ^ 2) в R?Затем я хочу построить и применить к ней модель линейной регрессии, используя x, который представляет собой простую последовательность данных

1 Ответ

0 голосов
/ 04 февраля 2019

Определить функцию

f <- function(x, a=2, b=3) a + b * x + rnorm(length(x), mean=0, sd=3^2)

Сгенерировать несколько точек

set.seed(123)
data <- data.frame(x=0:10, y=f(0:10))

Подогнать линейную модель

fit <- lm(y~x, data=data)
summary(fit)
#Call:
#lm(formula = y~x, data=data)
#
#Residuals:
#    Min      1Q  Median      3Q     Max
#-12.832  -6.181  -1.144   6.220  13.823
#
#Coefficients:
#            Estimate Std. Error t value Pr(>|t|)
#(Intercept)    4.027      5.183   0.777   0.4570
#x              2.917      0.876   3.330   0.0088 **
#---
#Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#Residual standard error: 9.188 on 9 degrees of freedom
#Multiple R-squared:  0.552,    Adjusted R-squared:  0.5022
#F-statistic: 11.09 on 1 and 9 DF,  p-value: 0.008802

Мы видим большую неопределенность в (Intercept) из-за большой погрешности.

Показать данные и соответствовать

ggplot(data, aes(x=x, y=y)) +
  geom_point() +
  geom_smooth(method='lm', formula=y~x)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...