Задание № 1-2 Сформируйте свой собственный датасет с помощью функции c (конкатенация), в котором содержатся числовые данные и NA значения. Проведите очистку данных с использованием функции is.na() [1]. И выведите “чистый” датасет.
x<-c(7,2,NA,8,NA,9,1)
bad<-is.na(x)
x[!bad]
## [1] 7 2 8 9 1
Задание №3 Сгенерируйте таблицу данных с числовыми и текстовые столбцами (аналогично с помощью функции c). Очистите данные с помощью функции complete.cases().
generate_table <- data.frame(ID = 1:8 , Name = c("Milk", NA, "Soap", "Juice", NA, "Apple", "Orange", "Green pepper"),
Price = c(NA, 100, 150, 105, 33, 99, NA, 77))
generate_table
## ID Name Price
## 1 1 Milk NA
## 2 2 <NA> 100
## 3 3 Soap 150
## 4 4 Juice 105
## 5 5 <NA> 33
## 6 6 Apple 99
## 7 7 Orange NA
## 8 8 Green pepper 77
good <- complete.cases(generate_table)
generate_table[good, ]
## ID Name Price
## 3 3 Soap 150
## 4 4 Juice 105
## 6 6 Apple 99
## 8 8 Green pepper 77
Задание №4 Проанализируйте датасет airquality с пропусками из пакета caret. С использованием функции preProcess из пакета caret заполните пропуски предсказанными значениями (среднее, медиана).
library("caret")
## Загрузка требуемого пакета: ggplot2
## Загрузка требуемого пакета: lattice
data(airquality)
airquality
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
## 7 23 299 8.6 65 5 7
## 8 19 99 13.8 59 5 8
## 9 8 19 20.1 61 5 9
## 10 NA 194 8.6 69 5 10
## 11 7 NA 6.9 74 5 11
## 12 16 256 9.7 69 5 12
## 13 11 290 9.2 66 5 13
## 14 14 274 10.9 68 5 14
## 15 18 65 13.2 58 5 15
## 16 14 334 11.5 64 5 16
## 17 34 307 12.0 66 5 17
## 18 6 78 18.4 57 5 18
## 19 30 322 11.5 68 5 19
## 20 11 44 9.7 62 5 20
## 21 1 8 9.7 59 5 21
## 22 11 320 16.6 73 5 22
## 23 4 25 9.7 61 5 23
## 24 32 92 12.0 61 5 24
## 25 NA 66 16.6 57 5 25
## 26 NA 266 14.9 58 5 26
## 27 NA NA 8.0 57 5 27
## 28 23 13 12.0 67 5 28
## 29 45 252 14.9 81 5 29
## 30 115 223 5.7 79 5 30
## 31 37 279 7.4 76 5 31
## 32 NA 286 8.6 78 6 1
## 33 NA 287 9.7 74 6 2
## 34 NA 242 16.1 67 6 3
## 35 NA 186 9.2 84 6 4
## 36 NA 220 8.6 85 6 5
## 37 NA 264 14.3 79 6 6
## 38 29 127 9.7 82 6 7
## 39 NA 273 6.9 87 6 8
## 40 71 291 13.8 90 6 9
## 41 39 323 11.5 87 6 10
## 42 NA 259 10.9 93 6 11
## 43 NA 250 9.2 92 6 12
## 44 23 148 8.0 82 6 13
## 45 NA 332 13.8 80 6 14
## 46 NA 322 11.5 79 6 15
## 47 21 191 14.9 77 6 16
## 48 37 284 20.7 72 6 17
## 49 20 37 9.2 65 6 18
## 50 12 120 11.5 73 6 19
## 51 13 137 10.3 76 6 20
## 52 NA 150 6.3 77 6 21
## 53 NA 59 1.7 76 6 22
## 54 NA 91 4.6 76 6 23
## 55 NA 250 6.3 76 6 24
## 56 NA 135 8.0 75 6 25
## 57 NA 127 8.0 78 6 26
## 58 NA 47 10.3 73 6 27
## 59 NA 98 11.5 80 6 28
## 60 NA 31 14.9 77 6 29
## 61 NA 138 8.0 83 6 30
## 62 135 269 4.1 84 7 1
## 63 49 248 9.2 85 7 2
## 64 32 236 9.2 81 7 3
## 65 NA 101 10.9 84 7 4
## 66 64 175 4.6 83 7 5
## 67 40 314 10.9 83 7 6
## 68 77 276 5.1 88 7 7
## 69 97 267 6.3 92 7 8
## 70 97 272 5.7 92 7 9
## 71 85 175 7.4 89 7 10
## 72 NA 139 8.6 82 7 11
## 73 10 264 14.3 73 7 12
## 74 27 175 14.9 81 7 13
## 75 NA 291 14.9 91 7 14
## 76 7 48 14.3 80 7 15
## 77 48 260 6.9 81 7 16
## 78 35 274 10.3 82 7 17
## 79 61 285 6.3 84 7 18
## 80 79 187 5.1 87 7 19
## 81 63 220 11.5 85 7 20
## 82 16 7 6.9 74 7 21
## 83 NA 258 9.7 81 7 22
## 84 NA 295 11.5 82 7 23
## 85 80 294 8.6 86 7 24
## 86 108 223 8.0 85 7 25
## 87 20 81 8.6 82 7 26
## 88 52 82 12.0 86 7 27
## 89 82 213 7.4 88 7 28
## 90 50 275 7.4 86 7 29
## 91 64 253 7.4 83 7 30
## 92 59 254 9.2 81 7 31
## 93 39 83 6.9 81 8 1
## 94 9 24 13.8 81 8 2
## 95 16 77 7.4 82 8 3
## 96 78 NA 6.9 86 8 4
## 97 35 NA 7.4 85 8 5
## 98 66 NA 4.6 87 8 6
## 99 122 255 4.0 89 8 7
## 100 89 229 10.3 90 8 8
## 101 110 207 8.0 90 8 9
## 102 NA 222 8.6 92 8 10
## 103 NA 137 11.5 86 8 11
## 104 44 192 11.5 86 8 12
## 105 28 273 11.5 82 8 13
## 106 65 157 9.7 80 8 14
## 107 NA 64 11.5 79 8 15
## 108 22 71 10.3 77 8 16
## 109 59 51 6.3 79 8 17
## 110 23 115 7.4 76 8 18
## 111 31 244 10.9 78 8 19
## 112 44 190 10.3 78 8 20
## 113 21 259 15.5 77 8 21
## 114 9 36 14.3 72 8 22
## 115 NA 255 12.6 75 8 23
## 116 45 212 9.7 79 8 24
## 117 168 238 3.4 81 8 25
## 118 73 215 8.0 86 8 26
## 119 NA 153 5.7 88 8 27
## 120 76 203 9.7 97 8 28
## 121 118 225 2.3 94 8 29
## 122 84 237 6.3 96 8 30
## 123 85 188 6.3 94 8 31
## 124 96 167 6.9 91 9 1
## 125 78 197 5.1 92 9 2
## 126 73 183 2.8 93 9 3
## 127 91 189 4.6 93 9 4
## 128 47 95 7.4 87 9 5
## 129 32 92 15.5 84 9 6
## 130 20 252 10.9 80 9 7
## 131 23 220 10.3 78 9 8
## 132 21 230 10.9 75 9 9
## 133 24 259 9.7 73 9 10
## 134 44 236 14.9 81 9 11
## 135 21 259 15.5 76 9 12
## 136 28 238 6.3 77 9 13
## 137 9 24 10.9 71 9 14
## 138 13 112 11.5 71 9 15
## 139 46 237 6.9 78 9 16
## 140 18 224 13.8 67 9 17
## 141 13 27 10.3 76 9 18
## 142 24 238 10.3 68 9 19
## 143 16 201 8.0 82 9 20
## 144 13 238 12.6 64 9 21
## 145 23 14 9.2 71 9 22
## 146 36 139 10.3 81 9 23
## 147 7 49 10.3 69 9 24
## 148 14 20 16.6 63 9 25
## 149 30 193 6.9 70 9 26
## 150 NA 145 13.2 77 9 27
## 151 14 191 14.3 75 9 28
## 152 18 131 8.0 76 9 29
## 153 20 223 11.5 68 9 30
Заплним пропуски с помощью медианного значения по параметру
pPmI <- preProcess(airquality, method = 'medianImpute')
median_update_airquality <- predict(pPmI, airquality)
median_update_airquality
## Ozone Solar.R Wind Temp Month Day
## 1 41.0 190 7.4 67 5 1
## 2 36.0 118 8.0 72 5 2
## 3 12.0 149 12.6 74 5 3
## 4 18.0 313 11.5 62 5 4
## 5 31.5 205 14.3 56 5 5
## 6 28.0 205 14.9 66 5 6
## 7 23.0 299 8.6 65 5 7
## 8 19.0 99 13.8 59 5 8
## 9 8.0 19 20.1 61 5 9
## 10 31.5 194 8.6 69 5 10
## 11 7.0 205 6.9 74 5 11
## 12 16.0 256 9.7 69 5 12
## 13 11.0 290 9.2 66 5 13
## 14 14.0 274 10.9 68 5 14
## 15 18.0 65 13.2 58 5 15
## 16 14.0 334 11.5 64 5 16
## 17 34.0 307 12.0 66 5 17
## 18 6.0 78 18.4 57 5 18
## 19 30.0 322 11.5 68 5 19
## 20 11.0 44 9.7 62 5 20
## 21 1.0 8 9.7 59 5 21
## 22 11.0 320 16.6 73 5 22
## 23 4.0 25 9.7 61 5 23
## 24 32.0 92 12.0 61 5 24
## 25 31.5 66 16.6 57 5 25
## 26 31.5 266 14.9 58 5 26
## 27 31.5 205 8.0 57 5 27
## 28 23.0 13 12.0 67 5 28
## 29 45.0 252 14.9 81 5 29
## 30 115.0 223 5.7 79 5 30
## 31 37.0 279 7.4 76 5 31
## 32 31.5 286 8.6 78 6 1
## 33 31.5 287 9.7 74 6 2
## 34 31.5 242 16.1 67 6 3
## 35 31.5 186 9.2 84 6 4
## 36 31.5 220 8.6 85 6 5
## 37 31.5 264 14.3 79 6 6
## 38 29.0 127 9.7 82 6 7
## 39 31.5 273 6.9 87 6 8
## 40 71.0 291 13.8 90 6 9
## 41 39.0 323 11.5 87 6 10
## 42 31.5 259 10.9 93 6 11
## 43 31.5 250 9.2 92 6 12
## 44 23.0 148 8.0 82 6 13
## 45 31.5 332 13.8 80 6 14
## 46 31.5 322 11.5 79 6 15
## 47 21.0 191 14.9 77 6 16
## 48 37.0 284 20.7 72 6 17
## 49 20.0 37 9.2 65 6 18
## 50 12.0 120 11.5 73 6 19
## 51 13.0 137 10.3 76 6 20
## 52 31.5 150 6.3 77 6 21
## 53 31.5 59 1.7 76 6 22
## 54 31.5 91 4.6 76 6 23
## 55 31.5 250 6.3 76 6 24
## 56 31.5 135 8.0 75 6 25
## 57 31.5 127 8.0 78 6 26
## 58 31.5 47 10.3 73 6 27
## 59 31.5 98 11.5 80 6 28
## 60 31.5 31 14.9 77 6 29
## 61 31.5 138 8.0 83 6 30
## 62 135.0 269 4.1 84 7 1
## 63 49.0 248 9.2 85 7 2
## 64 32.0 236 9.2 81 7 3
## 65 31.5 101 10.9 84 7 4
## 66 64.0 175 4.6 83 7 5
## 67 40.0 314 10.9 83 7 6
## 68 77.0 276 5.1 88 7 7
## 69 97.0 267 6.3 92 7 8
## 70 97.0 272 5.7 92 7 9
## 71 85.0 175 7.4 89 7 10
## 72 31.5 139 8.6 82 7 11
## 73 10.0 264 14.3 73 7 12
## 74 27.0 175 14.9 81 7 13
## 75 31.5 291 14.9 91 7 14
## 76 7.0 48 14.3 80 7 15
## 77 48.0 260 6.9 81 7 16
## 78 35.0 274 10.3 82 7 17
## 79 61.0 285 6.3 84 7 18
## 80 79.0 187 5.1 87 7 19
## 81 63.0 220 11.5 85 7 20
## 82 16.0 7 6.9 74 7 21
## 83 31.5 258 9.7 81 7 22
## 84 31.5 295 11.5 82 7 23
## 85 80.0 294 8.6 86 7 24
## 86 108.0 223 8.0 85 7 25
## 87 20.0 81 8.6 82 7 26
## 88 52.0 82 12.0 86 7 27
## 89 82.0 213 7.4 88 7 28
## 90 50.0 275 7.4 86 7 29
## 91 64.0 253 7.4 83 7 30
## 92 59.0 254 9.2 81 7 31
## 93 39.0 83 6.9 81 8 1
## 94 9.0 24 13.8 81 8 2
## 95 16.0 77 7.4 82 8 3
## 96 78.0 205 6.9 86 8 4
## 97 35.0 205 7.4 85 8 5
## 98 66.0 205 4.6 87 8 6
## 99 122.0 255 4.0 89 8 7
## 100 89.0 229 10.3 90 8 8
## 101 110.0 207 8.0 90 8 9
## 102 31.5 222 8.6 92 8 10
## 103 31.5 137 11.5 86 8 11
## 104 44.0 192 11.5 86 8 12
## 105 28.0 273 11.5 82 8 13
## 106 65.0 157 9.7 80 8 14
## 107 31.5 64 11.5 79 8 15
## 108 22.0 71 10.3 77 8 16
## 109 59.0 51 6.3 79 8 17
## 110 23.0 115 7.4 76 8 18
## 111 31.0 244 10.9 78 8 19
## 112 44.0 190 10.3 78 8 20
## 113 21.0 259 15.5 77 8 21
## 114 9.0 36 14.3 72 8 22
## 115 31.5 255 12.6 75 8 23
## 116 45.0 212 9.7 79 8 24
## 117 168.0 238 3.4 81 8 25
## 118 73.0 215 8.0 86 8 26
## 119 31.5 153 5.7 88 8 27
## 120 76.0 203 9.7 97 8 28
## 121 118.0 225 2.3 94 8 29
## 122 84.0 237 6.3 96 8 30
## 123 85.0 188 6.3 94 8 31
## 124 96.0 167 6.9 91 9 1
## 125 78.0 197 5.1 92 9 2
## 126 73.0 183 2.8 93 9 3
## 127 91.0 189 4.6 93 9 4
## 128 47.0 95 7.4 87 9 5
## 129 32.0 92 15.5 84 9 6
## 130 20.0 252 10.9 80 9 7
## 131 23.0 220 10.3 78 9 8
## 132 21.0 230 10.9 75 9 9
## 133 24.0 259 9.7 73 9 10
## 134 44.0 236 14.9 81 9 11
## 135 21.0 259 15.5 76 9 12
## 136 28.0 238 6.3 77 9 13
## 137 9.0 24 10.9 71 9 14
## 138 13.0 112 11.5 71 9 15
## 139 46.0 237 6.9 78 9 16
## 140 18.0 224 13.8 67 9 17
## 141 13.0 27 10.3 76 9 18
## 142 24.0 238 10.3 68 9 19
## 143 16.0 201 8.0 82 9 20
## 144 13.0 238 12.6 64 9 21
## 145 23.0 14 9.2 71 9 22
## 146 36.0 139 10.3 81 9 23
## 147 7.0 49 10.3 69 9 24
## 148 14.0 20 16.6 63 9 25
## 149 30.0 193 6.9 70 9 26
## 150 31.5 145 13.2 77 9 27
## 151 14.0 191 14.3 75 9 28
## 152 18.0 131 8.0 76 9 29
## 153 20.0 223 11.5 68 9 30
Задание №5 Сгенерируйте два числовых набора данных и добавьте в них выбросы. С использованием функции boxplot обнаружьте выбросы и удалить их.
x<-c(2.633213, 2.654674, 2.746650, 2.657763, 2.525229, 2.549804, 2.537088, 1.974909, 1.838017, 1.791683, 1.782088,
1.664908, 1.689402, 1.688826, 1.661763, 1.734322, 1.744875, 1.710471, 1.735690, 1.800677, 1.607354, 1.896810,
2.294757)
y<-c(4.358015, 4.489513, 4.560919, 4.613810, 4.599738, 4.621614, 4.633119, 4.616862, 4.754681, 4.849953, 4.945791,
5.019631, 4.805033, 4.989170, 5.024305, 5.065325, 4.970247, 4.998086, 5.096887, 4.977657, 4.888269, 3.479053,
2.878145)
plot(x,y)
boxplot(x)
boxplot(y)
Получим индексы выбросов и удалим их из датасета
ind <- which(y %in% boxplot.stats(y)$out)
vybrosy <- data.frame(x=x[ind], y=y[ind])
plot(x,y,col='green', pch=18, ylim=c(0,max(y)))
Произведём удаление
x <- x[-ind]
y <- y[-ind]
boxplot(y)
plot(x,y,col='purple', pch=16, ylim=c(0,max(y)))
Задание №6 Сгенерируйте таблицу данных, в которой дублируются строки. Удалите строки с использованием функций unique(), duplicated(). Сравните результаты.
generate_table <- data.frame(Name = c("Milk", NA, "Soap", "Soap", "Soap", "Soap", "Orange", "Green pepper"),
Price = c(NA, 100, 150, 105, 105, 150, NA, 77))
generate_table
## Name Price
## 1 Milk NA
## 2 <NA> 100
## 3 Soap 150
## 4 Soap 105
## 5 Soap 105
## 6 Soap 150
## 7 Orange NA
## 8 Green pepper 77
Удалим дубликаты с помощью функции dublicate
generate_table[!duplicated(generate_table),]
## Name Price
## 1 Milk NA
## 2 <NA> 100
## 3 Soap 150
## 4 Soap 105
## 7 Orange NA
## 8 Green pepper 77
generate_table
## Name Price
## 1 Milk NA
## 2 <NA> 100
## 3 Soap 150
## 4 Soap 105
## 5 Soap 105
## 6 Soap 150
## 7 Orange NA
## 8 Green pepper 77
Удалим дубликаты с помощью функции unique
unique( generate_table )
## Name Price
## 1 Milk NA
## 2 <NA> 100
## 3 Soap 150
## 4 Soap 105
## 7 Orange NA
## 8 Green pepper 77
Задание №7 Обработайте пропуски в данных с использованием пакета mice.
library("mice")
##
## Присоединяю пакет: 'mice'
## Следующий объект скрыт от 'package:stats':
##
## filter
## Следующие объекты скрыты от 'package:base':
##
## cbind, rbind
data("airquality")
airquality
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
## 7 23 299 8.6 65 5 7
## 8 19 99 13.8 59 5 8
## 9 8 19 20.1 61 5 9
## 10 NA 194 8.6 69 5 10
## 11 7 NA 6.9 74 5 11
## 12 16 256 9.7 69 5 12
## 13 11 290 9.2 66 5 13
## 14 14 274 10.9 68 5 14
## 15 18 65 13.2 58 5 15
## 16 14 334 11.5 64 5 16
## 17 34 307 12.0 66 5 17
## 18 6 78 18.4 57 5 18
## 19 30 322 11.5 68 5 19
## 20 11 44 9.7 62 5 20
## 21 1 8 9.7 59 5 21
## 22 11 320 16.6 73 5 22
## 23 4 25 9.7 61 5 23
## 24 32 92 12.0 61 5 24
## 25 NA 66 16.6 57 5 25
## 26 NA 266 14.9 58 5 26
## 27 NA NA 8.0 57 5 27
## 28 23 13 12.0 67 5 28
## 29 45 252 14.9 81 5 29
## 30 115 223 5.7 79 5 30
## 31 37 279 7.4 76 5 31
## 32 NA 286 8.6 78 6 1
## 33 NA 287 9.7 74 6 2
## 34 NA 242 16.1 67 6 3
## 35 NA 186 9.2 84 6 4
## 36 NA 220 8.6 85 6 5
## 37 NA 264 14.3 79 6 6
## 38 29 127 9.7 82 6 7
## 39 NA 273 6.9 87 6 8
## 40 71 291 13.8 90 6 9
## 41 39 323 11.5 87 6 10
## 42 NA 259 10.9 93 6 11
## 43 NA 250 9.2 92 6 12
## 44 23 148 8.0 82 6 13
## 45 NA 332 13.8 80 6 14
## 46 NA 322 11.5 79 6 15
## 47 21 191 14.9 77 6 16
## 48 37 284 20.7 72 6 17
## 49 20 37 9.2 65 6 18
## 50 12 120 11.5 73 6 19
## 51 13 137 10.3 76 6 20
## 52 NA 150 6.3 77 6 21
## 53 NA 59 1.7 76 6 22
## 54 NA 91 4.6 76 6 23
## 55 NA 250 6.3 76 6 24
## 56 NA 135 8.0 75 6 25
## 57 NA 127 8.0 78 6 26
## 58 NA 47 10.3 73 6 27
## 59 NA 98 11.5 80 6 28
## 60 NA 31 14.9 77 6 29
## 61 NA 138 8.0 83 6 30
## 62 135 269 4.1 84 7 1
## 63 49 248 9.2 85 7 2
## 64 32 236 9.2 81 7 3
## 65 NA 101 10.9 84 7 4
## 66 64 175 4.6 83 7 5
## 67 40 314 10.9 83 7 6
## 68 77 276 5.1 88 7 7
## 69 97 267 6.3 92 7 8
## 70 97 272 5.7 92 7 9
## 71 85 175 7.4 89 7 10
## 72 NA 139 8.6 82 7 11
## 73 10 264 14.3 73 7 12
## 74 27 175 14.9 81 7 13
## 75 NA 291 14.9 91 7 14
## 76 7 48 14.3 80 7 15
## 77 48 260 6.9 81 7 16
## 78 35 274 10.3 82 7 17
## 79 61 285 6.3 84 7 18
## 80 79 187 5.1 87 7 19
## 81 63 220 11.5 85 7 20
## 82 16 7 6.9 74 7 21
## 83 NA 258 9.7 81 7 22
## 84 NA 295 11.5 82 7 23
## 85 80 294 8.6 86 7 24
## 86 108 223 8.0 85 7 25
## 87 20 81 8.6 82 7 26
## 88 52 82 12.0 86 7 27
## 89 82 213 7.4 88 7 28
## 90 50 275 7.4 86 7 29
## 91 64 253 7.4 83 7 30
## 92 59 254 9.2 81 7 31
## 93 39 83 6.9 81 8 1
## 94 9 24 13.8 81 8 2
## 95 16 77 7.4 82 8 3
## 96 78 NA 6.9 86 8 4
## 97 35 NA 7.4 85 8 5
## 98 66 NA 4.6 87 8 6
## 99 122 255 4.0 89 8 7
## 100 89 229 10.3 90 8 8
## 101 110 207 8.0 90 8 9
## 102 NA 222 8.6 92 8 10
## 103 NA 137 11.5 86 8 11
## 104 44 192 11.5 86 8 12
## 105 28 273 11.5 82 8 13
## 106 65 157 9.7 80 8 14
## 107 NA 64 11.5 79 8 15
## 108 22 71 10.3 77 8 16
## 109 59 51 6.3 79 8 17
## 110 23 115 7.4 76 8 18
## 111 31 244 10.9 78 8 19
## 112 44 190 10.3 78 8 20
## 113 21 259 15.5 77 8 21
## 114 9 36 14.3 72 8 22
## 115 NA 255 12.6 75 8 23
## 116 45 212 9.7 79 8 24
## 117 168 238 3.4 81 8 25
## 118 73 215 8.0 86 8 26
## 119 NA 153 5.7 88 8 27
## 120 76 203 9.7 97 8 28
## 121 118 225 2.3 94 8 29
## 122 84 237 6.3 96 8 30
## 123 85 188 6.3 94 8 31
## 124 96 167 6.9 91 9 1
## 125 78 197 5.1 92 9 2
## 126 73 183 2.8 93 9 3
## 127 91 189 4.6 93 9 4
## 128 47 95 7.4 87 9 5
## 129 32 92 15.5 84 9 6
## 130 20 252 10.9 80 9 7
## 131 23 220 10.3 78 9 8
## 132 21 230 10.9 75 9 9
## 133 24 259 9.7 73 9 10
## 134 44 236 14.9 81 9 11
## 135 21 259 15.5 76 9 12
## 136 28 238 6.3 77 9 13
## 137 9 24 10.9 71 9 14
## 138 13 112 11.5 71 9 15
## 139 46 237 6.9 78 9 16
## 140 18 224 13.8 67 9 17
## 141 13 27 10.3 76 9 18
## 142 24 238 10.3 68 9 19
## 143 16 201 8.0 82 9 20
## 144 13 238 12.6 64 9 21
## 145 23 14 9.2 71 9 22
## 146 36 139 10.3 81 9 23
## 147 7 49 10.3 69 9 24
## 148 14 20 16.6 63 9 25
## 149 30 193 6.9 70 9 26
## 150 NA 145 13.2 77 9 27
## 151 14 191 14.3 75 9 28
## 152 18 131 8.0 76 9 29
## 153 20 223 11.5 68 9 30
airquality_NON_NA <- mice(airquality)
##
## iter imp variable
## 1 1 Ozone Solar.R
## 1 2 Ozone Solar.R
## 1 3 Ozone Solar.R
## 1 4 Ozone Solar.R
## 1 5 Ozone Solar.R
## 2 1 Ozone Solar.R
## 2 2 Ozone Solar.R
## 2 3 Ozone Solar.R
## 2 4 Ozone Solar.R
## 2 5 Ozone Solar.R
## 3 1 Ozone Solar.R
## 3 2 Ozone Solar.R
## 3 3 Ozone Solar.R
## 3 4 Ozone Solar.R
## 3 5 Ozone Solar.R
## 4 1 Ozone Solar.R
## 4 2 Ozone Solar.R
## 4 3 Ozone Solar.R
## 4 4 Ozone Solar.R
## 4 5 Ozone Solar.R
## 5 1 Ozone Solar.R
## 5 2 Ozone Solar.R
## 5 3 Ozone Solar.R
## 5 4 Ozone Solar.R
## 5 5 Ozone Solar.R
airquality_NON_NA<-complete(airquality_NON_NA)
airquality_NON_NA
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 19 150 14.3 56 5 5
## 6 28 183 14.9 66 5 6
## 7 23 299 8.6 65 5 7
## 8 19 99 13.8 59 5 8
## 9 8 19 20.1 61 5 9
## 10 11 194 8.6 69 5 10
## 11 7 313 6.9 74 5 11
## 12 16 256 9.7 69 5 12
## 13 11 290 9.2 66 5 13
## 14 14 274 10.9 68 5 14
## 15 18 65 13.2 58 5 15
## 16 14 334 11.5 64 5 16
## 17 34 307 12.0 66 5 17
## 18 6 78 18.4 57 5 18
## 19 30 322 11.5 68 5 19
## 20 11 44 9.7 62 5 20
## 21 1 8 9.7 59 5 21
## 22 11 320 16.6 73 5 22
## 23 4 25 9.7 61 5 23
## 24 32 92 12.0 61 5 24
## 25 14 66 16.6 57 5 25
## 26 1 266 14.9 58 5 26
## 27 37 115 8.0 57 5 27
## 28 23 13 12.0 67 5 28
## 29 45 252 14.9 81 5 29
## 30 115 223 5.7 79 5 30
## 31 37 279 7.4 76 5 31
## 32 52 286 8.6 78 6 1
## 33 13 287 9.7 74 6 2
## 34 32 242 16.1 67 6 3
## 35 35 186 9.2 84 6 4
## 36 78 220 8.6 85 6 5
## 37 45 264 14.3 79 6 6
## 38 29 127 9.7 82 6 7
## 39 50 273 6.9 87 6 8
## 40 71 291 13.8 90 6 9
## 41 39 323 11.5 87 6 10
## 42 85 259 10.9 93 6 11
## 43 76 250 9.2 92 6 12
## 44 23 148 8.0 82 6 13
## 45 40 332 13.8 80 6 14
## 46 35 322 11.5 79 6 15
## 47 21 191 14.9 77 6 16
## 48 37 284 20.7 72 6 17
## 49 20 37 9.2 65 6 18
## 50 12 120 11.5 73 6 19
## 51 13 137 10.3 76 6 20
## 52 45 150 6.3 77 6 21
## 53 16 59 1.7 76 6 22
## 54 39 91 4.6 76 6 23
## 55 20 250 6.3 76 6 24
## 56 13 135 8.0 75 6 25
## 57 28 127 8.0 78 6 26
## 58 7 47 10.3 73 6 27
## 59 45 98 11.5 80 6 28
## 60 12 31 14.9 77 6 29
## 61 89 138 8.0 83 6 30
## 62 135 269 4.1 84 7 1
## 63 49 248 9.2 85 7 2
## 64 32 236 9.2 81 7 3
## 65 44 101 10.9 84 7 4
## 66 64 175 4.6 83 7 5
## 67 40 314 10.9 83 7 6
## 68 77 276 5.1 88 7 7
## 69 97 267 6.3 92 7 8
## 70 97 272 5.7 92 7 9
## 71 85 175 7.4 89 7 10
## 72 40 139 8.6 82 7 11
## 73 10 264 14.3 73 7 12
## 74 27 175 14.9 81 7 13
## 75 78 291 14.9 91 7 14
## 76 7 48 14.3 80 7 15
## 77 48 260 6.9 81 7 16
## 78 35 274 10.3 82 7 17
## 79 61 285 6.3 84 7 18
## 80 79 187 5.1 87 7 19
## 81 63 220 11.5 85 7 20
## 82 16 7 6.9 74 7 21
## 83 63 258 9.7 81 7 22
## 84 59 295 11.5 82 7 23
## 85 80 294 8.6 86 7 24
## 86 108 223 8.0 85 7 25
## 87 20 81 8.6 82 7 26
## 88 52 82 12.0 86 7 27
## 89 82 213 7.4 88 7 28
## 90 50 275 7.4 86 7 29
## 91 64 253 7.4 83 7 30
## 92 59 254 9.2 81 7 31
## 93 39 83 6.9 81 8 1
## 94 9 24 13.8 81 8 2
## 95 16 77 7.4 82 8 3
## 96 78 187 6.9 86 8 4
## 97 35 307 7.4 85 8 5
## 98 66 236 4.6 87 8 6
## 99 122 255 4.0 89 8 7
## 100 89 229 10.3 90 8 8
## 101 110 207 8.0 90 8 9
## 102 77 222 8.6 92 8 10
## 103 63 137 11.5 86 8 11
## 104 44 192 11.5 86 8 12
## 105 28 273 11.5 82 8 13
## 106 65 157 9.7 80 8 14
## 107 30 64 11.5 79 8 15
## 108 22 71 10.3 77 8 16
## 109 59 51 6.3 79 8 17
## 110 23 115 7.4 76 8 18
## 111 31 244 10.9 78 8 19
## 112 44 190 10.3 78 8 20
## 113 21 259 15.5 77 8 21
## 114 9 36 14.3 72 8 22
## 115 36 255 12.6 75 8 23
## 116 45 212 9.7 79 8 24
## 117 168 238 3.4 81 8 25
## 118 73 215 8.0 86 8 26
## 119 135 153 5.7 88 8 27
## 120 76 203 9.7 97 8 28
## 121 118 225 2.3 94 8 29
## 122 84 237 6.3 96 8 30
## 123 85 188 6.3 94 8 31
## 124 96 167 6.9 91 9 1
## 125 78 197 5.1 92 9 2
## 126 73 183 2.8 93 9 3
## 127 91 189 4.6 93 9 4
## 128 47 95 7.4 87 9 5
## 129 32 92 15.5 84 9 6
## 130 20 252 10.9 80 9 7
## 131 23 220 10.3 78 9 8
## 132 21 230 10.9 75 9 9
## 133 24 259 9.7 73 9 10
## 134 44 236 14.9 81 9 11
## 135 21 259 15.5 76 9 12
## 136 28 238 6.3 77 9 13
## 137 9 24 10.9 71 9 14
## 138 13 112 11.5 71 9 15
## 139 46 237 6.9 78 9 16
## 140 18 224 13.8 67 9 17
## 141 13 27 10.3 76 9 18
## 142 24 238 10.3 68 9 19
## 143 16 201 8.0 82 9 20
## 144 13 238 12.6 64 9 21
## 145 23 14 9.2 71 9 22
## 146 36 139 10.3 81 9 23
## 147 7 49 10.3 69 9 24
## 148 14 20 16.6 63 9 25
## 149 30 193 6.9 70 9 26
## 150 11 145 13.2 77 9 27
## 151 14 191 14.3 75 9 28
## 152 18 131 8.0 76 9 29
## 153 20 223 11.5 68 9 30
Задание №8 Разберите пример с мультиколлинеарностью
library(readxl)
wagesmicrodata <- read_excel(file.choose(), sheet = "Data", skip = 0)
View(wagesmicrodata)
wagesmicrodata
## # A tibble: 534 × 11
## EDUCATION SOUTH SEX EXPERIENCE UNION WAGE AGE RACE OCCUPATION SECTOR
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 8 0 1 21 0 5.1 35 2 6 1
## 2 9 0 1 42 0 4.95 57 3 6 1
## 3 12 0 0 1 0 6.67 19 3 6 1
## 4 12 0 0 4 0 4 22 3 6 0
## 5 12 0 0 17 0 7.5 35 3 6 0
## 6 13 0 0 9 1 13.1 28 3 6 0
## 7 10 1 0 27 0 4.45 43 3 6 0
## 8 12 0 0 9 0 19.5 27 3 6 0
## 9 16 0 0 11 0 13.3 33 3 6 1
## 10 12 0 0 9 0 8.75 27 3 6 0
## # ℹ 524 more rows
## # ℹ 1 more variable: MARR <dbl>
Закрепим название столбцов для быстрого обращения
attach(wagesmicrodata)
Получим сводную модель
fit1<- lm(log(WAGE)~OCCUPATION+SECTOR+UNION+EDUCATION+EXPERIENCE+AGE+SEX+MARR+RACE+SOUTH)
summary(fit1)
##
## Call:
## lm(formula = log(WAGE) ~ OCCUPATION + SECTOR + UNION + EDUCATION +
## EXPERIENCE + AGE + SEX + MARR + RACE + SOUTH)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.16246 -0.29163 -0.00469 0.29981 1.98248
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.078596 0.687514 1.569 0.117291
## OCCUPATION -0.007417 0.013109 -0.566 0.571761
## SECTOR 0.091458 0.038736 2.361 0.018589 *
## UNION 0.200483 0.052475 3.821 0.000149 ***
## EDUCATION 0.179366 0.110756 1.619 0.105949
## EXPERIENCE 0.095822 0.110799 0.865 0.387531
## AGE -0.085444 0.110730 -0.772 0.440671
## SEX -0.221997 0.039907 -5.563 4.24e-08 ***
## MARR 0.076611 0.041931 1.827 0.068259 .
## RACE 0.050406 0.028531 1.767 0.077865 .
## SOUTH -0.102360 0.042823 -2.390 0.017187 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4398 on 523 degrees of freedom
## Multiple R-squared: 0.3185, Adjusted R-squared: 0.3054
## F-statistic: 24.44 on 10 and 523 DF, p-value: < 2.2e-16
Построить диагностическую проверку модели
par(mfrow=c(2,2))
plot(fit1)
## Warning: наблюдения с единичной трансляцией не рисую:
## 444
Для дальнейшей диагностики проблемы давайте сначала рассмотрим попарную корреляцию между объясняющими переменными.
X<-wagesmicrodata[,2:11]
library(GGally)
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
ggpairs(X)
Для всех пар корреляция принимает небольшие значения, кроме как для пары Возраста и Опыта Также становится ясно, что парная корреляция между опытом – образованием, возрастом – образованием и возрастом – опытом довольно высока.
library(corpcor)
cor2pcor(cov(X))
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1.000000000 -0.04735321 0.092156215 -0.087288838 -0.07259200
## [2,] -0.047353214 1.00000000 -0.047171959 -0.088379389 -0.22610639
## [3,] 0.092156215 -0.04717196 1.000000000 0.015214627 -0.41104783
## [4,] -0.087288838 -0.08837939 0.015214627 1.000000000 0.12478339
## [5,] -0.072591996 -0.22610639 -0.411047829 0.124783394 1.00000000
## [6,] -0.092263231 0.06954088 0.981355377 0.004218711 0.43016985
## [7,] -0.105852204 0.03704973 -0.051705752 -0.115941353 0.07391171
## [8,] 0.003897232 -0.14879327 0.145426713 0.217102599 -0.04927380
## [9,] -0.014955289 -0.09211752 0.136156087 -0.023169559 0.07966093
## [10,] 0.034687153 0.01156500 0.007240797 0.063416595 0.04214508
## [,6] [,7] [,8] [,9] [,10]
## [1,] -0.092263231 -0.1058522040 0.003897232 -0.0149552891 0.034687153
## [2,] 0.069540884 0.0370497298 -0.148793270 -0.0921175172 0.011565004
## [3,] 0.981355377 -0.0517057525 0.145426713 0.1361560874 0.007240797
## [4,] 0.004218711 -0.1159413532 0.217102599 -0.0231695591 0.063416595
## [5,] 0.430169854 0.0739117077 -0.049273804 0.0796609338 0.042145080
## [6,] 1.000000000 0.0458877661 -0.159127605 -0.1149540531 0.041651314
## [7,] 0.045887766 1.0000000000 0.061493079 0.0001245593 0.051690158
## [8,] -0.159127605 0.0614930788 1.000000000 0.3168740869 -0.017673757
## [9,] -0.114954053 0.0001245593 0.316874087 1.0000000000 0.033881631
## [10,] 0.041651314 0.0516901576 -0.017673757 0.0338816313 1.000000000
library(mctest)
Благодаря библиотеке произведём Тест Фаррара-Глаубера
omcdiag(fit1)
##
## Call:
## omcdiag(mod = fit1)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.0001 1
## Farrar Chi-Square: 4818.3895 1
## Red Indicator: 0.1983 0
## Sum of Lambda Inverse: 10068.8439 1
## Theil's Method: 0.8845 1
## Condition Number: 739.7337 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
Значение стандартизированного определителя оказалось равным 0,0001, что очень мало. Расчетное значение статистики теста хи-квадрат оказалось равным 4833,5751, и оно весьма значимо, что подразумевает наличие мультиколлинеарности в спецификации модели. Это побуждает нас перейти к следующему шагу теста Фаррара – Глаубера (F – тест) для определения местоположения мультиколлинеарности.
imcdiag(fit1)
##
## Call:
## imcdiag(mod = fit1)
##
##
## All Individual Multicollinearity Diagnostics Result
##
## VIF TOL Wi Fi Leamer CVIF Klein
## OCCUPATION 1.2982 0.7703 17.3637 19.5715 0.8777 1.3620 0
## SECTOR 1.1987 0.8343 11.5670 13.0378 0.9134 1.2576 0
## UNION 1.1209 0.8922 7.0368 7.9315 0.9445 1.1759 0
## EDUCATION 231.1956 0.0043 13402.4982 15106.5849 0.0658 242.5527 1
## EXPERIENCE 5184.0939 0.0002 301771.2445 340140.5368 0.0139 5438.7545 1
## AGE 4645.6650 0.0002 270422.7164 304806.1391 0.0147 4873.8761 1
## SEX 1.0916 0.9161 5.3351 6.0135 0.9571 1.1453 0
## MARR 1.0961 0.9123 5.5969 6.3085 0.9551 1.1500 0
## RACE 1.0371 0.9642 2.1622 2.4372 0.9819 1.0881 0
## SOUTH 1.0468 0.9553 2.7264 3.0731 0.9774 1.0983 0
## IND1 IND2
## OCCUPATION 0.0132 0.6125
## SECTOR 0.0143 0.4419
## UNION 0.0153 0.2875
## EDUCATION 0.0001 2.6546
## EXPERIENCE 0.0000 2.6656
## AGE 0.0000 2.6656
## SEX 0.0157 0.2238
## MARR 0.0157 0.2338
## RACE 0.0166 0.0955
## SOUTH 0.0164 0.1193
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
##
## OCCUPATION , EDUCATION , EXPERIENCE , AGE , MARR , RACE , coefficient(s) are non-significant may be due to multicollinearity
##
## R-square of y on all x: 0.3185
##
## * use method argument to check which regressors may be the reason of collinearity
## ===================================
Столбцы VIF, TOL и Wi предоставляют диагностические выходные данные для фактора инфляции дисперсии, толерантности и F-теста Фаррара-Глаубера соответственно. F-статистика для переменной «опыт» довольно высока (5184,0939), за ней следуют переменные «возраст» (F-значение 4645,6650) и «образование» (F-значение 231,1956).
Наконец, для изучения модели мультиколлинеарности требуется провести t-тест для коэффициента корреляции. Поскольку существует десять объясняющих переменных, будет шесть пар частных коэффициентов корреляции.
library(ppcor)
## Загрузка требуемого пакета: MASS
pcor(X, method = "pearson")
## $estimate
## SOUTH SEX EXPERIENCE UNION WAGE
## SOUTH 1.000000000 -0.04735321 0.092156215 -0.087288838 -0.07259200
## SEX -0.047353214 1.00000000 -0.047171959 -0.088379389 -0.22610639
## EXPERIENCE 0.092156215 -0.04717196 1.000000000 0.015214627 -0.41104783
## UNION -0.087288838 -0.08837939 0.015214627 1.000000000 0.12478339
## WAGE -0.072591996 -0.22610639 -0.411047829 0.124783394 1.00000000
## AGE -0.092263231 0.06954088 0.981355377 0.004218711 0.43016985
## RACE -0.105852204 0.03704973 -0.051705752 -0.115941353 0.07391171
## OCCUPATION 0.003897232 -0.14879327 0.145426713 0.217102599 -0.04927380
## SECTOR -0.014955289 -0.09211752 0.136156087 -0.023169559 0.07966093
## MARR 0.034687153 0.01156500 0.007240797 0.063416595 0.04214508
## AGE RACE OCCUPATION SECTOR MARR
## SOUTH -0.092263231 -0.1058522040 0.003897232 -0.0149552891 0.034687153
## SEX 0.069540884 0.0370497298 -0.148793270 -0.0921175172 0.011565004
## EXPERIENCE 0.981355377 -0.0517057525 0.145426713 0.1361560874 0.007240797
## UNION 0.004218711 -0.1159413532 0.217102599 -0.0231695591 0.063416595
## WAGE 0.430169854 0.0739117077 -0.049273804 0.0796609338 0.042145080
## AGE 1.000000000 0.0458877661 -0.159127605 -0.1149540531 0.041651314
## RACE 0.045887766 1.0000000000 0.061493079 0.0001245593 0.051690158
## OCCUPATION -0.159127605 0.0614930788 1.000000000 0.3168740869 -0.017673757
## SECTOR -0.114954053 0.0001245593 0.316874087 1.0000000000 0.033881631
## MARR 0.041651314 0.0516901576 -0.017673757 0.0338816313 1.000000000
##
## $p.value
## SOUTH SEX EXPERIENCE UNION WAGE
## SOUTH 0.00000000 2.783401e-01 3.459698e-02 4.539234e-02 9.629065e-02
## SEX 0.27834007 0.000000e+00 2.801860e-01 4.275476e-02 1.593878e-07
## EXPERIENCE 0.03459698 2.801860e-01 0.000000e+00 7.277405e-01 7.330033e-23
## UNION 0.04539234 4.275476e-02 7.277405e-01 0.000000e+00 4.153392e-03
## WAGE 0.09629065 1.593878e-07 7.330033e-23 4.153392e-03 0.000000e+00
## AGE 0.03438663 1.111527e-01 0.000000e+00 9.231036e-01 4.185242e-25
## RACE 0.01515145 3.964415e-01 2.364819e-01 7.773912e-03 9.037438e-02
## OCCUPATION 0.92894720 6.182381e-04 8.222868e-04 4.971219e-07 2.592877e-01
## SECTOR 0.73220184 3.467332e-02 1.748921e-03 5.959777e-01 6.791742e-02
## MARR 0.42726214 7.913041e-01 8.684147e-01 1.463787e-01 3.346883e-01
## AGE RACE OCCUPATION SECTOR MARR
## SOUTH 3.438663e-02 0.015151448 9.289472e-01 7.322018e-01 0.4272621
## SEX 1.111527e-01 0.396441471 6.182381e-04 3.467332e-02 0.7913041
## EXPERIENCE 0.000000e+00 0.236481871 8.222868e-04 1.748921e-03 0.8684147
## UNION 9.231036e-01 0.007773912 4.971219e-07 5.959777e-01 0.1463787
## WAGE 4.185242e-25 0.090374383 2.592877e-01 6.791742e-02 0.3346883
## AGE 0.000000e+00 0.293501451 2.480805e-04 8.317144e-03 0.3403869
## RACE 2.935015e-01 0.000000000 1.590415e-01 9.977261e-01 0.2366235
## OCCUPATION 2.480805e-04 0.159041512 0.000000e+00 9.859762e-14 0.6859117
## SECTOR 8.317144e-03 0.997726085 9.859762e-14 0.000000e+00 0.4380805
## MARR 3.403869e-01 0.236623459 6.859117e-01 4.380805e-01 0.0000000
##
## $statistic
## SOUTH SEX EXPERIENCE UNION WAGE
## SOUTH 0.00000000 -1.0851820 2.1185676 -2.00578885 -1.6661024
## SEX -1.08518195 0.0000000 -1.0810189 -2.03104439 -5.3134153
## EXPERIENCE 2.11856761 -1.0810189 0.0000000 0.34831904 -10.3216023
## UNION -2.00578885 -2.0310444 0.3483190 0.00000000 2.8789241
## WAGE -1.66610237 -5.3134153 -10.3216023 2.87892410 0.0000000
## AGE -2.12104891 1.5957267 116.8783185 0.09657158 10.9078484
## RACE -2.43675771 0.8486898 -1.1851841 -2.67203895 1.6965568
## OCCUPATION 0.08921239 -3.4443753 3.3647401 5.09113538 -1.1293007
## SECTOR -0.34238051 -2.1176704 3.1460532 -0.53051787 1.8293357
## MARR 0.79450335 0.2647527 0.1657538 1.45460012 0.9656029
## AGE RACE OCCUPATION SECTOR MARR
## SOUTH -2.12104891 -2.436757714 0.08921239 -0.342380507 0.7945033
## SEX 1.59572669 0.848689770 -3.44437529 -2.117670383 0.2647527
## EXPERIENCE 116.87831846 -1.185184120 3.36474009 3.146053240 0.1657538
## UNION 0.09657158 -2.672038949 5.09113538 -0.530517867 1.4546001
## WAGE 10.90784843 1.696556762 -1.12930069 1.829335718 0.9656029
## AGE 0.00000000 1.051526654 -3.68961030 -2.648979137 0.9542703
## RACE 1.05152665 0.000000000 1.41030991 0.002851294 1.1848257
## OCCUPATION -3.68961030 1.410309911 0.00000000 7.647682734 -0.4046340
## SECTOR -2.64897914 0.002851294 7.64768273 0.000000000 0.7760315
## MARR 0.95427027 1.184825700 -0.40463399 0.776031546 0.0000000
##
## $n
## [1] 534
##
## $gp
## [1] 8
##
## $method
## [1] "pearson"
Как и ожидалось, высокая частичная корреляция между «возрастом» и «опытом» оказалась статистически высокозначимой. Аналогично обстоит дело с «образованием – опытом» и «образованием – возрастом». Мало того, что даже некоторые из низких коэффициентов корреляции также оказались высокозначимыми. Таким образом, тест Фаррара-Глаубера указывает на то, что X1 является первопричиной всех проблем мультиколлинеарности.
Попытаемся построить модель, исключая «опыт», оцениваем модель и переходим к дальнейшей диагностике наличия мультиколлинеарности.
fit2<- lm(log(WAGE)~OCCUPATION+SECTOR+UNION+EDUCATION+AGE+SEX+MARR+RACE+SOUTH)
summary(fit2)
##
## Call:
## lm(formula = log(WAGE) ~ OCCUPATION + SECTOR + UNION + EDUCATION +
## AGE + SEX + MARR + RACE + SOUTH)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.16018 -0.29085 -0.00513 0.29985 1.97932
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.501358 0.164794 3.042 0.002465 **
## OCCUPATION -0.006941 0.013095 -0.530 0.596309
## SECTOR 0.091013 0.038723 2.350 0.019125 *
## UNION 0.200018 0.052459 3.813 0.000154 ***
## EDUCATION 0.083815 0.007728 10.846 < 2e-16 ***
## AGE 0.010305 0.001745 5.905 6.34e-09 ***
## SEX -0.220100 0.039837 -5.525 5.20e-08 ***
## MARR 0.075125 0.041886 1.794 0.073458 .
## RACE 0.050674 0.028523 1.777 0.076210 .
## SOUTH -0.103186 0.042802 -2.411 0.016261 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4397 on 524 degrees of freedom
## Multiple R-squared: 0.3175, Adjusted R-squared: 0.3058
## F-statistic: 27.09 on 9 and 524 DF, p-value: < 2.2e-16
Теперь, глядя на уровень значимости, видно, что из девяти коэффициентов регрессии восемь статистически значимы. Значение R-квадрата равно 0,31, а значение F также очень высокое и значимое.
library(regclass)
## Загрузка требуемого пакета: bestglm
## Загрузка требуемого пакета: leaps
## Загрузка требуемого пакета: VGAM
## Загрузка требуемого пакета: stats4
## Загрузка требуемого пакета: splines
##
## Присоединяю пакет: 'VGAM'
## Следующий объект скрыт от 'package:caret':
##
## predictors
## Загрузка требуемого пакета: rpart
## Загрузка требуемого пакета: randomForest
## randomForest 4.7-1.2
## Type rfNews() to see new features/changes/bug fixes.
##
## Присоединяю пакет: 'randomForest'
## Следующий объект скрыт от 'package:ggplot2':
##
## margin
## Important regclass change from 1.3:
## All functions that had a . in the name now have an _
## all.correlations -> all_correlations, cor.demo -> cor_demo, etc.
##
## Присоединяю пакет: 'regclass'
## Следующий объект скрыт от 'package:lattice':
##
## qq
VIF(fit2)
## OCCUPATION SECTOR UNION EDUCATION AGE SEX MARR
## 1.295935 1.198460 1.120743 1.125994 1.154496 1.088334 1.094289
## RACE SOUTH
## 1.037015 1.046306
Таким образом, модель теперь свободна от мультиколлинеарности.