Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 / laba3.docx
Скачиваний:
46
Добавлен:
28.08.2022
Размер:
150.77 Кб
Скачать

Проверим условия для получения состоятельных, несмещенных, эффективных оценок

Проверка случайности остаточной компоненты. Построим график зависимости остатков (разность модельных и истинных значений переменной price) от спрогнозированных значений модели

qplot(y = model_1$fitted.values, x = model_1$residuals, xlab = "Остаточные степени свободы, Ei", ylab="Спрогнозированные значения, y^")

Проверим условие M(Ei) = 0.

H0: M(Ei) = 0(математическое ожидание остатков равно нулю); H1: M(Ei) != 0(математическое ожидание остатков отлично от нуля).

mean(model_1$residuals)

## [1] -2.592451e-13

Вычисляем t расч.:

a<-mean(model_1$residuals) b<-sd(model_1$residuals, na.rm = FALSE) n <- sqrt(42126) tm <- a/b*n str(tm)

## num -3.27e-14

Вычисляем t табл. при p=0.95 и степени свободы N-1:

df <- nrow(train) qt(0.95, df - 1)

## [1] 1.64489

|t расч.| < t табл. => принимаем H0 с вероятностью p=0.95.

Протестируем на наличие гетероскедастичности в остатках регрессионное уравнение с помощью теста Бройша-Погана: H0: D(Ei) = sig^2 (отсутствие гетероскедастичности, наличие гомоскедастичности) H1: D(Ei) != sig^2 (наличие гетероскедастичности)

bptest(model_1)

## ## studentized Breusch-Pagan test ## ## data: model_1 ## BP = 6734, df = 1, p-value < 2.2e-16

Так как значение p-value меньше 0.05, нулевая гипотеза об отсутствие гетероскедастичности остатков отвергается.

Наличие гетероскедастичности в остатках регрессии можно проверить с помощью теста ранговой корреляции Спирмена.

Суть теста заключается в определении наличия связи между ростом остаточной компоненты и ростом независимого фактора, то есть определение роста дисперсии остатков. Такая зависимость проверяется на основе расчета коэффициента ранговой корреляции Спирмена ρ между остатками модели E и независимым фактором carat.

cor.test (train$carat, model_1$residuals, method = "spearman")

## Warning in cor.test.default(train$carat, model_1$residuals, method = ## "spearman"): Cannot compute exact p-value with ties

## ## Spearman's rank correlation rho ## ## data: train$carat and model_1$residuals ## S = 1.5715e+13, p-value < 2.2e-16 ## alternative hypothesis: true rho is not equal to 0 ## sample estimates: ## rho ## -0.2612942

Так как значение p-value меньше 0.05, нулевая гипотеза об отсутствие гетероскедастичности остатков отвергается.

Проверим условие cov(Ei,Ej)=0, i!=j

Н0: rho=0 (т.е. автокорреляция остатков отсутствует); H1: rho>0 или rho<0 (наличие положительной или отрицательной автокорреляции остатков).

# тест Дарбина-Уотсона bgtest(model_1)

## ## Breusch-Godfrey test for serial correlation of order up to 1 ## ## data: model_1 ## LM test = 9899, df = 1, p-value < 2.2e-16

# тест Бройша- Годфри dwtest(model_1)

## ## Durbin-Watson test ## ## data: model_1 ## DW = 1.0539, p-value < 2.2e-16 ## alternative hypothesis: true autocorrelation is greater than 0

Так как значение p-value меньше 0.05 => гипотеза H0 об отсутствии автокорреляции остатков отвергается.

Проверим условие Ei ~ N(0, sig^2), т.е. согласуются ли остатки регрессии с нормальным законом:

H0: остатки регрессии согласуются с нормальным законом распределения H1: остатки регрессии не согласуются с нормальным законом распределения

Рассмотрим графические тесты:

qqnorm(model_1$residuals)

library(sm);

## Package 'sm', version 2.2-5.6: type help(sm) for summary information

## ## Attaching package: 'sm'

## The following object is masked from 'package:MASS': ## ## muscle

Z <- model_1$residuals hist(Z, main = "Гистограмма остатков")

sm.density(model_1$residuals, model = "Normal",xlab = "Остатки", ylab = "Функция плотности распределения", xlim=c(-19246.62,12642.95))

Рассмотрим параметрические тесты:

library(nortest) # тест Lilliefors (Kolmogorov-Smirnov) lillie.test(model_1$residuals)

## ## Lilliefors (Kolmogorov-Smirnov) normality test ## ## data: model_1$residuals ## D = 0.14802, p-value < 2.2e-16

Так как значение p-value меньше 0.05, нулевая гипотеза о согласии распределения остатков с нормальным законом распределения отвергается.

Рассмотрим также тест Шапиро-Уилка. Данный тест применяется для выборки объема не менее 3 наблюдений и не более 5000. Для рассмотрения данного теста на текущей выборке выберем 4990 элементов выборки.

# тест Шапиро-Уилка sh <- model_1$residuals[1:4990] #View(sh) shapiro.test(sh)

## ## Shapiro-Wilk normality test ## ## data: sh ## W = 0.97111, p-value < 2.2e-16

Так как значение p-value меньше 0.05, нулевая гипотеза о согласии распределения остатков с нормальным законом распределения отвергается.

Прогнозирование значений по полученной модели на тестовой выборке:

plot(test$carat, test$price, xlab="Карат", ylab="Цена") lines(test$carat, predict(model_1, test), col = 'red')

Соседние файлы в папке 3