melnikovmaxim

R_L7.1

Jan 2nd, 2020
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 9.09 KB | None | 0 0
  1. /*
  2. Задание
  3.  
  4. Открыть таблицу данных trees из библиотеки datasets, содержащую замеры диаметра, высоты и объема вишневых деревьев.  
  5.  
  6. Выведите имена столбцов таблицы trees.
  7.  
  8. Постройте корреляционную матрицу по таблице trees.
  9.  
  10. С помощью полученных коэффициентов корреляции определите, между какими переменными существует линейная зависимость (сильная или слабая, прямая или обратная).
  11.  
  12. Постройте графики зависимостей. Для этого разбейте окно графика на три части (функция par()), и в каждой части создайте график зависимости.
  13.  
  14. Проведите регрессионный анализ для определения существования линейной зависимости между объемом вишневых деревьев(y) и диаметром(x1) c высотой (x2). Запишите уравнение зависимости с полученными коэффициентами регрессии. Выведите график зависимости.
  15.  
  16. Чему равен полученный коэффициент детерминации? Поясните смысл полученного численного значения.
  17.  
  18. Проведите анализ остатков для проверки адекватности построенной регрессионной модели.
  19.  
  20. Сделайте вывод по результатам проведенного регрессионного анализа.
  21.  
  22. Откройте таблицу Turtle.csv c данными по длине, ширине, высоте и весу черепах.
  23.  
  24. С помощью теста Шапиро-Уилка проверьте на нормальность каждый столбец таблицы. Сделайте выводы.
  25.  
  26. Постройте корреляционную матрицу по данным таблицы Turtle. Определите значимые зависимости.
  27.  
  28. Проведите регрессионный анализ для определения существования линейной зависимости между весом (weight) черепах и другими параметрами (length, width, height). Сделайте вывод по результатам анализа.
  29.  
  30. link https://yadi.sk/d/PIDZw53LCgpyFg
  31. */
  32.  
  33. names(datasets::trees)
  34. matx<-cor(trees)
  35. matx
  36.  
  37. lm(trees)
  38. summary(trees)
  39.  
  40. lm.p<-lm(formula(trees$Volume~trees$Girth+trees$Height))
  41. lm.p
  42. summary(lm.p) #Коэффициент детерминации равен 0.948, 94.8% отклонений
  43.               #от средней зависимой переменной, остатки 5.2%, численно малы
  44.               #не все требования выполняются
  45. par(mfrow=c(2,2))
  46. plot(lm.p)
  47.  
  48. r1<-residuals(lm.p)
  49. d1<-data.frame(trees$Volume,predict(lm.p),r1)
  50.  
  51. names(Turtle)
  52. shapiro.test(Turtle$length) # гипотезу принимаем >0.05, нормальное распределение
  53. shapiro.test(Turtle$width)  # гипотезу принимаем >0.05
  54. shapiro.test(Turtle$height) # гипотезу принимаем >0.05
  55. shapiro.test(Turtle$weight) # гипотезу принимаем >0.05
  56.  
  57. matrixTurtle<-cor(Turtle)
  58.  
  59. lm.ral <- lm(formula(Turtle$weight ~ Turtle$length + Turtle$width + Turtle$height))
  60. lm.ral
  61. summary(lm.ral)
  62.  
  63. #т.к. p-value 2.2e-16, т.к. это < 0.05, нулевую гипотезу отвергаем
  64. #между переменными существует линейная зависимость
  65. #коэффициент детерминации равен 0.9959, т.е. 99.59% отклонений от
  66. #средней зависимой переменной будет учтено в построенной модели.
  67. #от 0 до 1 прямая зависиомсть, от 0 до -1 обратная
  68.  
  69.  
  70.  
  71. plot(Osvech)
  72. plot(Osvech$temperatura,Osvech$glubina,main="График зависимости температуры от глубины",col="purple", xlab="Температура",ylab="Глубина")
  73. cor(Osvech)
  74. lmp = lm(formula = formula(Osvech$temperatura ~ Osvech$glubina))# 1.04e-08   < 0,005 нулевую гипотезу отвергаем,существует линейная зависемость
  75. lmp
  76. summary(lmp)
  77. r1 = residuals (lmp)
  78. d1 = data.frame(Osvech$temperatura,predict(lmp),r1)
  79. d1
  80. plot(lm.p)
  81. #Данная модель хорошо подходит т.к остатки числено равны,данная моедь подходит лучше всех!
  82. chisq.test(Osvech$glubina) #p-value = 0.01438 <0,05
  83. chisq.test(Osvech$temperatura)#p-value = 0.9933 >0,05
  84. chisq.test(Osvech$osvechenos)#p-value < 2.2e-16 <0,05
  85.  
  86. # В первом графике остатки рапределены хаотично и между ними нет никакой зависемости и последующем графике  равны нормальному (гауссовскому) виду распределения т.к крутяться вокруг возрастающей диагонали,последующие графики не информативны.
  87. #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно малы.Итак. Не все требования к остаткам выполняются. Следовательно, построенная модель не подходит для описания исходных данных.
  88.  
  89. # коэффицент детерминации равен   0.8078 т.е 80,78% отклонений от средней зависемости переменной будет учтено
  90. #Osvech$temperatur = 12.42952 + (-0.25500) * Osvech$glubina - уовнение оценки коэффициентам регрессии
  91. #Критерий Стьарта = 5.585 > 0,05 принимаем
  92. lmp1 = lm(formula = formula(Osvech$temperatura ~ Osvech$glubina + Osvech$glubina^2))# 1.04e-08 < 0,005 нулевую гипотезу отвергаем,существует линейная зависемость
  93. lmp1
  94. summary(lmp1)
  95. r1 = residuals (lmp1)
  96. d1 = data.frame(Osvech$glubina,predict(lmp1),r1)
  97. d1
  98. #Данная модель не походит потомучно остатки числено не равны
  99. #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно большие.Итак.  все требования к остаткам выполняются. Следовательно, построенная модель  подходит для описания исходных данных.
  100.  
  101. # коэффицент детерминации равен   0.8078 т.е 80,78% отклонений от средней зависемости переменной будет учтено
  102. #Osvech$temperatur = 12.42952 + (-0.25500) *Osvech$glubina - уовнение оценки коэффициентам регрессии
  103. #Критерий Стьарта = 23.774 > 0,05 принимаем
  104. lmp2 = lm(formula = formula(Osvech$glubina ~ log(Osvech$temperatura)))# 0.000829  < 0.05 нулевую гипотезу отвергаем,существует линейная зависемость
  105. lmp2
  106. summary(lmp2)
  107. r1 = residuals (lmp2)
  108. d1 = data.frame(Osvech$glubina,predict(lmp2),r1)
  109. d1
  110. #Данная моедь походит остатки числено равны
  111. #Остатки должны быть не более 5-10% от наблюдаемых значений. В нашем случае, остатки численно большие.Итак.  все требования к остаткам выполняются. Следовательно, построенная модель  подходит для описания исходных данных.
  112. # коэффицент детерминации равен   0.9577 т.е 95,77% отклонений от средней зависемости переменной будет учтено
  113. #Osvech$temperatur = 380.66 ~  23.59 +(-264.64) *Osvech$glubina - уовнение оценки коэффициентам регрессии
  114. #Критерий Стьарта = 5.585 > 0,05 принимаем
  115. Osvech
  116. shapiro.test(Osvech$glubina) # p-value = 0.4583 > 0,05    Принимаем уровнеь значимости
  117. shapiro.test(Osvech$temperatura)# p-value = 0.2939 > 0,05 Принимаем уровнеь значимости
  118. shapiro.test(Osvech$osvechenost)# p-value = 0.7724 > 0,05 Принимаем уровнеь значимости
  119.  
  120. SA=anova(lmp,lmp1,lmp2)
  121. summary(SA)
  122. anova(lmp,lmp2)
  123. anova(lmp1,lmp2)
  124. anova(lmp,lmp1)
Add Comment
Please, Sign In to add comment