Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Задание
- Открыть таблицу данных trees из библиотеки datasets, содержащую замеры диаметра, высоты и объема вишневых деревьев.
- Выведите имена столбцов таблицы trees.
- Постройте корреляционную матрицу по таблице trees.
- С помощью полученных коэффициентов корреляции определите, между какими переменными существует линейная зависимость (сильная или слабая, прямая или обратная).
- Постройте графики зависимостей. Для этого разбейте окно графика на три части (функция par()), и в каждой части создайте график зависимости.
- Проведите регрессионный анализ для определения существования линейной зависимости между объемом вишневых деревьев(y) и диаметром(x1) c высотой (x2). Запишите уравнение зависимости с полученными коэффициентами регрессии. Выведите график зависимости.
- Чему равен полученный коэффициент детерминации? Поясните смысл полученного численного значения.
- Проведите анализ остатков для проверки адекватности построенной регрессионной модели.
- Сделайте вывод по результатам проведенного регрессионного анализа.
- Откройте таблицу Turtle.csv c данными по длине, ширине, высоте и весу черепах.
- С помощью теста Шапиро-Уилка проверьте на нормальность каждый столбец таблицы. Сделайте выводы.
- Постройте корреляционную матрицу по данным таблицы Turtle. Определите значимые зависимости.
- Проведите регрессионный анализ для определения существования линейной зависимости между весом (weight) черепах и другими параметрами (length, width, height). Сделайте вывод по результатам анализа.
- link https://yadi.sk/d/PIDZw53LCgpyFg
- */
- names(datasets::trees)
- matx<-cor(trees)
- matx
- lm(trees)
- summary(trees)
- lm.p<-lm(formula(trees$Volume~trees$Girth+trees$Height))
- lm.p
- summary(lm.p) #Коэффициент детерминации равен 0.948, 94.8% отклонений
- #от средней зависимой переменной, остатки 5.2%, численно малы
- #не все требования выполняются
- par(mfrow=c(2,2))
- plot(lm.p)
- r1<-residuals(lm.p)
- d1<-data.frame(trees$Volume,predict(lm.p),r1)
- names(Turtle)
- shapiro.test(Turtle$length) # гипотезу принимаем >0.05, нормальное распределение
- shapiro.test(Turtle$width) # гипотезу принимаем >0.05
- shapiro.test(Turtle$height) # гипотезу принимаем >0.05
- shapiro.test(Turtle$weight) # гипотезу принимаем >0.05
- matrixTurtle<-cor(Turtle)
- lm.ral <- lm(formula(Turtle$weight ~ Turtle$length + Turtle$width + Turtle$height))
- lm.ral
- summary(lm.ral)
- #т.к. p-value 2.2e-16, т.к. это < 0.05, нулевую гипотезу отвергаем
- #между переменными существует линейная зависимость
- #коэффициент детерминации равен 0.9959, т.е. 99.59% отклонений от
- #средней зависимой переменной будет учтено в построенной модели.
- #от 0 до 1 прямая зависиомсть, от 0 до -1 обратная
- plot(Osvech)
- plot(Osvech$temperatura,Osvech$glubina,main="График зависимости температуры от глубины",col="purple", xlab="Температура",ylab="Глубина")
- cor(Osvech)
- lmp = lm(formula = formula(Osvech$temperatura ~ Osvech$glubina))# 1.04e-08 < 0,005 нулевую гипотезу отвергаем,существует линейная зависемость
- lmp
- summary(lmp)
- r1 = residuals (lmp)
- d1 = data.frame(Osvech$temperatura,predict(lmp),r1)
- d1
- plot(lm.p)
- #Данная модель хорошо подходит т.к остатки числено равны,данная моедь подходит лучше всех!
- chisq.test(Osvech$glubina) #p-value = 0.01438 <0,05
- chisq.test(Osvech$temperatura)#p-value = 0.9933 >0,05
- chisq.test(Osvech$osvechenos)#p-value < 2.2e-16 <0,05
- # В первом графике остатки рапределены хаотично и между ними нет никакой зависемости и последующем графике равны нормальному (гауссовскому) виду распределения т.к крутяться вокруг возрастающей диагонали,последующие графики не информативны.
- #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно малы.Итак. Не все требования к остаткам выполняются. Следовательно, построенная модель не подходит для описания исходных данных.
- # коэффицент детерминации равен 0.8078 т.е 80,78% отклонений от средней зависемости переменной будет учтено
- #Osvech$temperatur = 12.42952 + (-0.25500) * Osvech$glubina - уовнение оценки коэффициентам регрессии
- #Критерий Стьарта = 5.585 > 0,05 принимаем
- lmp1 = lm(formula = formula(Osvech$temperatura ~ Osvech$glubina + Osvech$glubina^2))# 1.04e-08 < 0,005 нулевую гипотезу отвергаем,существует линейная зависемость
- lmp1
- summary(lmp1)
- r1 = residuals (lmp1)
- d1 = data.frame(Osvech$glubina,predict(lmp1),r1)
- d1
- #Данная модель не походит потомучно остатки числено не равны
- #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно большие.Итак. все требования к остаткам выполняются. Следовательно, построенная модель подходит для описания исходных данных.
- # коэффицент детерминации равен 0.8078 т.е 80,78% отклонений от средней зависемости переменной будет учтено
- #Osvech$temperatur = 12.42952 + (-0.25500) *Osvech$glubina - уовнение оценки коэффициентам регрессии
- #Критерий Стьарта = 23.774 > 0,05 принимаем
- lmp2 = lm(formula = formula(Osvech$glubina ~ log(Osvech$temperatura)))# 0.000829 < 0.05 нулевую гипотезу отвергаем,существует линейная зависемость
- lmp2
- summary(lmp2)
- r1 = residuals (lmp2)
- d1 = data.frame(Osvech$glubina,predict(lmp2),r1)
- d1
- #Данная моедь походит остатки числено равны
- #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно большие.Итак. все требования к остаткам выполняются. Следовательно, построенная модель подходит для описания исходных данных.
- # коэффицент детерминации равен 0.9577 т.е 95,77% отклонений от средней зависемости переменной будет учтено
- #Osvech$temperatur = 380.66 ~ 23.59 +(-264.64) *Osvech$glubina - уовнение оценки коэффициентам регрессии
- #Критерий Стьарта = 5.585 > 0,05 принимаем
- Osvech
- shapiro.test(Osvech$glubina) # p-value = 0.4583 > 0,05 Принимаем уровнеь значимости
- shapiro.test(Osvech$temperatura)# p-value = 0.2939 > 0,05 Принимаем уровнеь значимости
- shapiro.test(Osvech$osvechenost)# p-value = 0.7724 > 0,05 Принимаем уровнеь значимости
- SA=anova(lmp,lmp1,lmp2)
- summary(SA)
- anova(lmp,lmp2)
- anova(lmp1,lmp2)
- anova(lmp,lmp1)
Add Comment
Please, Sign In to add comment