Следуя логики построения и исследования эмпирических моделей, первоначальный анализ должен начинаться с формирования потенциального множества предикторов для исследуемой выходной пременной (назовем его априорным множеством предикторов 0-го порядка). Это множество формируется на основе качественного анализа, при котором для каждого потенциального предиктора необходимо получить ответы на следующие вопросы:
Если по предиктору получен положительный ответ на оба этих вопроса он включается в априорное множество предикторов 0-го порядка. После формирования этого множества осуществляется процедура измерения предикторов в соотвествующих точках территориально-временного континиума. Аналогичные процедуры нужно осуществить и для выходной переменной создаваемой модели, если она может быть измерена. В результате будет создана информационная модель 0-го уровня, которая состоит из следующих информационных блоков:
Исследователь выдвигает гипотезу, что имеет место зависимость вида :
$${\bf Y} = {\bf \Phi }({\bf X}) = {\bf \Phi }({\bf x}_1 ,{\bf x}_2 ,....,{\bf x}_n ){\rm \;\;\;\;(3)}$$где ${\bf x}_j$ ,$ j=1,2,...,n$ $\;\;j$-ый столбец матрицы матрицы ${\bf X}$.
На данном уровне знаний модель (3) представляет собой "черный ящик". В результате процедуры измерения возникает в общем случае символьная матрица ${\bf X}$ (в частном случае она представляет собой числовую матрицу, если предикторы измерались в метрических шкалах).Значение $n$ (число столбцов) может быть большим десятки и сотни, а значение p (число строк) должно быть таким, чтобы обеспечить репрезентативность будущей модели (т.е количество измерений должно таким,чтобы можно было оценить генеральную совокупность с приемлемой точностью) Оперировать и интерпретировать такие большие объемы информации даже в современных условиях весьма затруднительно. Поэтому возникает задача уменьшения значения $n$ до разумных пределов. Для решения разработано большое количество методов, которые условно можно разделить на две большие группы:
методы выбора и отсеивания предикторов ( анализ на уровне отдельных предикторов и их взаимодействий);
методы сокращения размерности на основе трансформации исходного пространства предикторов.
Процедура анализа информационной матрицы предикторов должна начинаться с первой группы методов, а затем можно переходить ко второй группе методов, если в этом остается необходимость. Вторая группа методов была нами рассмотрена достаточно подробно выше. В этом разделе разделе остновимся на первой группе методов сокращения размерности матрицы предикторов.
Предположим, у нас получена матрица ${\bf X}$. Что было бы первым шагом в ее использовании? Естественно, её нужно сначала изучить, прежде чем строить модель. Изучая данные в матрице ${\bf X}$, можно обнаружить, что для определенных ${\bf x}_j$ отсутствуют некоторые значения. Что делать? Здесь возможны два варианта. Во-первых, попытаться выяснить причину этих пропущенных значений, а затем заполнить их (используя соответствующие методы), если это возможно. Во-вторых, полностью исключить переменные, для которых отсутствуют значения. Но чтобы не потерять полезную информаци т.е "вместе с водой не выплиснуть ребенка" часто поступают компромисным спосом определяют предельный процент пропущенных значений для ${\bf x}_j$ ,например , 10 процентов. Т.е. предикторы, которые имеют больше 10 процентов "безжалостно удаляются", а для остальных предикторов,имеющих пропущенные значения, эти значения восстанавливаются тем или иным способом (например, берется среднее значение множества соседних точек или его медиана и т.д.)
Рассмотрим пример на python реализации процедуры анализа пропущенных значений в данных и отбора предикторов по величине заданного порога числа пропущенных значений (примем порог = 10%)
Для примера используем данные о десяти первых переменных, описывающих социально-экономические характеристики российских регионов
Код python
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import scipy.stats as st
import matplotlib.pyplot as plt
from pandas import Series, DataFrame
import pandas as pd
import openpyxl
import xlrd
data_regru =pd.ExcelFile('Region_Data.xlsx')
tabledat =data_regru.parse('dat01')
#print(tabledat )
#ФОРМИРОВАНИЕ МАССИВА ИЗ 10 ПЕРЕМЕННЫХ
X =DataFrame(tabledat, columns=['P1','P2','P3','P4','P5','P6', 'P7','P8', 'P9', 'P10'])
XX=np.array (X)
#ИМИТАЦИЯ ПРОПУЩЕННЫХ ЗНАЧЕНИЙ
r1=[2,6,9,11, 23,45,49,57,68,77,80]
r5=[9,34,78,]
r7=[2,6,8,16,34,46,67]
XX[r1,1]=None
XX[r5,5]=None
XX[r7,7]=None
XX =DataFrame(XX, columns=['P1','P2','P3','P4','P5','P6', 'P7','P8', 'P9', 'P10'])
#print(XX)
A= XX.isnull().sum()/len(XX)*100
#ОПРЕДЕЛЕНИЕ ПРОЦЕНТА ПРОПУЩЕННЫХ ЗНАЧЕНИЙ
print(A)
#ИСКЛЮЧЕНИЕ ПЕРЕМЕННЫХ , У КОТОРЫХ ПРОПУЩЕННЫХ ЗНАЧЕНИЙ > 10%
variables = XX.columns
variable = [ ]
for i in range(0,10):
if A[i]<=10: #setting the threshold as 10%
variable.append(variables[i])
#ПЕЧАТЬ ИМЕН СОХРАНЕННЫХ ПЕРЕМЕННЫХ
print(variable)
P1 0.000000 P2 13.580247 P3 0.000000 P4 0.000000 P5 0.000000 P6 3.703704 P7 0.000000 P8 8.641975 P9 0.000000 P10 0.000000 dtype: float64 ['P1', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10']
Видим,что пропущенные значения имеются у предикторов P2,P6 и P8, но только у P2 их больше 10 процентов, поэтому, исключается только эта переменная
$['P1', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10']$ -имена сохраненных переменных
Идея лежащая в основе фильтра низуой дисперсии очень проста. Понятно, если значения определенной переменной постоянны или очень мало изменяются от объекта к объекту, то ценность этой переменной (предиктора)) практически нулевая, поэтому необходимо расчитать дисперсию (мере изменчивости значений) для каждой переменной и удалить из рассмотрения те переменные, у которых она близку к нулю. Филтер высокой корреляции основан на следующих соображениях. Высокая корреляция между двумя переменными означает, что они имеют схожие тенденции и, вероятно, несут схожую информацию. Это может резко снизить эффективность некоторых моделей (например, моделей линейной и логистической регрессии).Мы можем вычислить корреляцию между независимыми числовыми переменными. Если коэффициент корреляции превышает определенное пороговое значение, мы можем отбросить одну из переменных (выбор удаляемой переменной очень субъективен и всегда должен производиться с учетом предметной области).Если имеются значения целевой (выходной) переменной, то целесообразно оставить те переменные, которые показывают приличную или высокую корреляцию с ней.
Рассмотрим пример использования этих фильтров для данных о 17 показателях социально-экономического развития регионов РФ в 2019 году.
Код R
options(warn=-1)
library(openxlsx)
library(caret)
#rm(list=ls(all=TRUE))
#ЗАГРУЗКА ИЗ EXSEL ПЕРВИЧНЫХ ДАННЫХ
N=1 # номер листа с данными
x <-read.xlsx("Region_Data4.xlsx", sheet = N)
x
#ФОРМИРОВАНИЕ data.frame ОСНОВНЫЕ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ РЕГИОНОВ РФ
xreg <-data.frame(P1=x$Pok_001,P2=x$Pok_002,P3=x$Pok_003,P4=x$Pok_004,
P5=x$Pok_005,P6=x$Pok_006,P7=x$Pok_007,P8=x$Pok_008,P9=x$Pok_009,P10=x$Pok_010,
P11=x$Pok_011,P12=x$Pok_012,P13=x$Pok_013,P14=x$Pok_014,P15=x$Pok_015,P16=x$Pok_016,
P17=x$Pok_017,P18=x$Pok_018)
#xreg
#Формирование фактора тип экономики региона
(xreg_f <- as.factor(x$Pok_018))
#ИСХОДНОЕ МНОЖЕСТВО ОСНОВНЫХ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИХ ПОКАЗАТЕЛЕЙ РЕГИОНОВ РФ 2018 г.
#P1 - Площадь территории,тыс. км2
#P2 - Численность населения на 1 января 2019 г., тыс. человек
#P3 - Среднегодовая численность занятых, тыс. человек
#P4 - Среднедушевые денежные доходы (в месяц), руб
#P5 - Потребительские расходы в среднем на душу населения (в месяц), руб
#P6 - Среднемесячная номинальная начисленная заработная плата работников организаций, руб.
#P7 - Валовой региональный продукт в 2018 г. , млн руб
#P8 - Инвестиции в основной капитал, млн руб
#P9 - Основные фонды в экономике (по полной учетной стоимости; на конец года),млн руб.
#P10 - Добыча полезных ископаемых ,млн. руб
#P11 - Обрабатывающие производства, млн руб
#P12 - Обеспечение электрической энергией, газом и паром, млн руб
#P13 - Водоснабжение; водоотведение, организация сбора и утилизации отходов, млн руб
#P14 - Продукция сельского хозяйства , млн руб
#P15 - Ввод в действие жилых домов, тыс. м2
#P16 - Оборот розничной торговли, млн руб
#P17 - Сальдированный финансовый результат деятельности организаций, млн руб.
#P18 - Тип региональной экономики (A,D,P,T)
#1. Удаление переменных с околонулевой дисперсией
#тестовый стобец 17
xreg[, 17]=7
xreg
# Создадим копию данных без столбца с откликом Class:
reg_ru = xreg[, -18]
# Функция nearZeroVar() возращает вектор номеров переменных,
# обладающих околонулевой дисперсией:
(nz = nearZeroVar(reg_ru))
print("Имена этих переменных:"); names(reg_ru)[nz]
# Удаляем предикторы с околонулевой дисперсией:
if (nz > 0 ){reg_ru.clean <-reg_ru[,-nz]}
reg_ru2 <-reg_ru.clean
reg_ru2
#2 Удаление сильно коррелированных переменных задаваемый уровень-cutoff
# Функция findCorrelation() возвращает вектор
# номеров переменных с высокой корреляцией:
(highCor = findCorrelation(cor(reg_ru2),cutoff = 0.7))
print("Имена этих переменных:")
names(reg_ru2)[highCor]
# Удаляем эти переменные:
reg_ru3 = reg_ru2[, -highCor]
reg_ru3
| X1 | IndexReg | Pok_001 | Pok_002 | Pok_003 | Pok_004 | Pok_005 | Pok_006 | Pok_007 | Pok_008 | ... | Pok_010 | Pok_011 | Pok_012 | Pok_013 | Pok_014 | Pok_015 | Pok_016 | Pok_017 | Pok_018 | Pok_019 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <chr> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | ... | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <chr> | <dbl> | |
| 1 | Белгородская область | Reg_01 | 27.1 | 1547.4 | 752.6 | 30778 | 24596 | 31852 | 865979.0 | 134161 | ... | 148863 | 710829 | 26805 | 8936 | 257038 | 1215.5 | 336148.5 | 206103 | A | 1 |
| 2 | Брянская область | Reg_02 | 34.9 | 1200.2 | 523.0 | 26585 | 22871 | 27251 | 328814.0 | 59719 | ... | 262 | 218544 | 17730 | 8901 | 85146 | 403.1 | 253157.2 | 8552 | T | 1 |
| 3 | Владимирская область | Reg_03 | 29.1 | 1365.8 | 628.2 | 23539 | 19761 | 30460 | 440543.0 | 74311 | ... | 5005 | 448428 | 36295 | 11257 | 29651 | 652.8 | 225731.2 | 39240 | P | 1 |
| 4 | Воронежская область | Reg_04 | 52.2 | 2327.8 | 1110.2 | 30289 | 26530 | 31207 | 943595.6 | 279213 | ... | 7726 | 448223 | 99618 | 13512 | 219151 | 1691.1 | 552288.4 | 32778 | A | 1 |
| 5 | Ивановская область | Reg_05 | 21.4 | 1004.2 | 444.9 | 24503 | 19407 | 25729 | 197839.8 | 29850 | ... | 972 | 152792 | 31077 | 4687 | 16085 | 369.1 | 164827.4 | -2236 | T | 1 |
| 6 | Калужская область | Reg_06 | 29.8 | 1009.4 | 503.0 | 29129 | 23354 | 38197 | 465987.5 | 86508 | ... | 3938 | 830716 | 23282 | 10017 | 43851 | 787.2 | 197086.7 | 42366 | P | 1 |
| 7 | Костромская область | Reg_07 | 60.2 | 637.2 | 282.2 | 23716 | 19569 | 27724 | 180287.2 | 22439 | ... | 401 | 135820 | 36785 | 3374 | 15929 | 196.9 | 101815.8 | 4431 | P | 1 |
| 8 | Курская область | Reg_08 | 30.0 | 1107.0 | 510.8 | 27275 | 21566 | 29937 | 428441.3 | 119892 | ... | 91249 | 194723 | 58383 | 9053 | 146703 | 594.8 | 213277.6 | 81982 | A | 1 |
| 9 | Липецкая область | Reg_09 | 24.0 | 1144.1 | 566.1 | 30010 | 24919 | 31622 | 580504.0 | 128533 | ... | 7052 | 756976 | 25534 | 12409 | 119304 | 903.0 | 256645.4 | 143565 | P | 1 |
| 10 | Московская область | Reg_10 | 44.3 | 7599.7 | 3385.7 | 44707 | 35199 | 51938 | 4201768.8 | 897801 | ... | 12744 | 2600340 | 287728 | 94555 | 108423 | 8866.6 | 2355264.1 | 438805 | T | 1 |
| 11 | Орловская область | Reg_11 | 24.7 | 739.5 | 314.5 | 24895 | 20217 | 27476 | 230706.2 | 49547 | ... | 232 | 115793 | 13794 | 3890 | 72247 | 290.1 | 132137.4 | 14206 | A | 1 |
| 12 | Рязанская область | Reg_12 | 39.6 | 1114.1 | 498.3 | 25441 | 19709 | 31916 | 383110.2 | 56987 | ... | 1664 | 303564 | 38454 | 5859 | 56895 | 777.5 | 193216.7 | 28470 | P | 1 |
| 13 | Смоленская область | Reg_13 | 49.8 | 942.4 | 432.5 | 25888 | 20633 | 29397 | 312857.0 | 71277 | ... | 1791 | 209367 | 55189 | 8791 | 24147 | 359.7 | 169721.9 | 15130 | T | 1 |
| 14 | Тамбовская область | Reg_14 | 34.5 | 1016.0 | 466.0 | 26828 | 21764 | 26660 | 331631.2 | 93884 | ... | 200 | 162991 | 15773 | 3497 | 127308 | 858.9 | 200455.6 | 35174 | A | 1 |
| 15 | Тверская область | Reg_15 | 84.2 | 1269.6 | 605.0 | 25125 | 19992 | 31049 | 441653.6 | 104120 | ... | 970 | 308286 | 103028 | 6677 | 38927 | 424.9 | 223702.0 | 16888 | P | 1 |
| 16 | Тульская область | Reg_16 | 25.7 | 1478.8 | 715.1 | 27208 | 22394 | 34662 | 636133.7 | 154752 | ... | 6153 | 703297 | 49812 | 10445 | 65785 | 734.8 | 289310.7 | 103332 | P | 1 |
| 17 | Ярославская область | Reg_17 | 36.2 | 1259.6 | 622.2 | 27055 | 21314 | 33474 | 560577.9 | 80251 | ... | 1566 | 390117 | 45608 | 9249 | 34072 | 767.5 | 235688.6 | 17797 | P | 1 |
| 18 | Республика Карелия | Reg_18 | 180.5 | 618.0 | 269.8 | 29150 | 23733 | 39402 | 280012.4 | 41237 | ... | 83395 | 121610 | 25664 | 4198 | 4498 | 271.0 | 121814.1 | -18589 | D | 2 |
| 19 | Республика Коми | Reg_19 | 416.8 | 830.2 | 408.9 | 33961 | 23220 | 50413 | 665735.7 | 126595 | ... | 400373 | 194301 | 44613 | 6331 | 10156 | 290.2 | 154571.4 | 112787 | D | 2 |
| 20 | Архангельская область | Reg_20 | 589.9 | 1144.1 | 530.5 | 33831 | 27662 | 48307 | 819247.0 | 191318 | ... | 385402 | 247567 | 34886 | 5959 | 11017 | 322.6 | 263914.7 | 31702 | D | 2 |
| 21 | Вологодская область | Reg_21 | 144.5 | 1167.7 | 530.3 | 26982 | 19929 | 35497 | 582630.4 | 149412 | ... | 798 | 692721 | 40464 | 7059 | 29255 | 535.5 | 186480.1 | 235139 | P | 2 |
| 22 | Калинингpадская область | Reg_22 | 15.1 | 1002.2 | 479.9 | 27461 | 22834 | 33385 | 460854.9 | 130488 | ... | 18428 | 576618 | 37791 | 6433 | 34739 | 916.0 | 170195.8 | 45587 | P | 2 |
| 23 | Ленинградская область | Reg_23 | 83.9 | 1847.9 | 778.4 | 31341 | 24285 | 43631 | 1104435.9 | 466894 | ... | 15857 | 1095745 | 130252 | 13540 | 91717 | 2640.6 | 405492.0 | 161923 | P | 2 |
| 24 | Мурманская область | Reg_24 | 144.9 | 748.1 | 363.9 | 41564 | 30699 | 58045 | 482547.9 | 144604 | ... | 96258 | 185431 | 57999 | 9251 | 1823 | 46.3 | 169676.6 | 80341 | D | 2 |
| 25 | Новгородская область | Reg_25 | 54.5 | 600.3 | 284.4 | 25292 | 22013 | 31462 | 262008.0 | 59629 | ... | 1178 | 201188 | 21582 | 3339 | 25982 | 264.4 | 115328.0 | 35927 | P | 2 |
| 26 | Псковская область | Reg_26 | 55.4 | 629.7 | 282.7 | 23880 | 20033 | 26871 | 164228.5 | 31351 | ... | 1959 | 103644 | 11760 | 5513 | 36929 | 235.9 | 112140.5 | 6146 | A | 2 |
| 27 | Республика Адыгея | Reg_27 | 7.8 | 454.8 | 151.6 | 27553 | 22569 | 27469 | 108417.6 | 31577 | ... | 3393 | 52529 | 2428 | 1503 | 21899 | 187.0 | 95164.4 | 2199 | T | 3 |
| 28 | Республика Калмыкия | Reg_28 | 74.7 | 272.6 | 108.0 | 17082 | 10611 | 26049 | 73692.2 | 12973 | ... | 0 | 930 | 2700 | 0 | 26559 | 90.4 | 21333.1 | 1189 | A | 3 |
| 29 | Республика Крым | Reg_29 | 26.1 | 1911.8 | 841.4 | 21524 | 16602 | 29640 | 391299.0 | 296019 | ... | 14372 | 93537 | 37021 | 6455 | 43841 | 774.9 | 256198.0 | -8237 | T | 3 |
| 30 | Краснодарский край | Reg_30 | 75.5 | 5648.2 | 2603.1 | 34372 | 31248 | 33846 | 2344620.7 | 481141 | ... | 52498 | 1025101 | 121025 | 32339 | 382468 | 4414.9 | 1368124.7 | 228937 | T | 3 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | |
| 52 | Самарская область | Reg_52 | 53.6 | 3183.0 | 1652.9 | 28180 | 23863 | 33754 | 1510518.7 | 259152 | ... | 368183 | 1098570 | 125309 | 37642 | 88976 | 1782.2 | 648396.3 | 320981 | D | 5 |
| 53 | Саратовская область | Reg_53 | 101.2 | 2440.8 | 1051.4 | 21423 | 17375 | 26823 | 712545.4 | 155260 | ... | 42026 | 398719 | 101302 | 12763 | 129175 | 1215.6 | 357332.5 | 22817 | A | 5 |
| 54 | Ульяновская область | Reg_54 | 37.2 | 1238.4 | 570.9 | 22797 | 18052 | 28353 | 347854.1 | 81105 | ... | 7982 | 256859 | 28434 | 9935 | 37868 | 981.1 | 187446.3 | 2498 | P | 5 |
| 55 | Курганская область | Reg_55 | 71.5 | 834.7 | 326.0 | 20334 | 16133 | 28159 | 213032.1 | 27098 | ... | 3222 | 105500 | 21324 | 3943 | 39511 | 231.5 | 114416.9 | 6232 | A | 6 |
| 56 | Свердловская область | Reg_56 | 194.3 | 4315.7 | 2038.0 | 36735 | 31757 | 38052 | 2277576.3 | 318008 | ... | 76538 | 1968982 | 243507 | 70627 | 84960 | 2088.2 | 1130702.0 | 314317 | P | 6 |
| 57 | Тюменская область | Reg_57 | 1464.2 | 3724.0 | 2232.9 | 46124 | 32422 | 68664 | 8790443.4 | 2326785 | ... | 6522593 | 1919669 | 317522 | 45797 | 77793 | 2120.4 | 942830.1 | 2222263 | D | 6 |
| 58 | Челябинская область | Reg_58 | 88.5 | 3475.7 | 1756.2 | 24386 | 18237 | 35219 | 1473727.8 | 259366 | ... | 80990 | 1491774 | 122934 | 42781 | 119417 | 1524.4 | 518609.5 | 181085 | P | 6 |
| 59 | Республика Алтай | Reg_59 | 92.9 | 218.9 | 82.8 | 19503 | 13484 | 30953 | 50566.8 | 14470 | ... | 2688 | 3561 | 3048 | 395 | 11700 | 108.3 | 25989.4 | 4227 | T | 7 |
| 60 | Республика Тыва | Reg_60 | 168.6 | 324.4 | 102.9 | 15603 | 9878 | 35779 | 68774.0 | 10485 | ... | 28678 | 518 | 4291 | 279 | 6141 | 93.1 | 23653.4 | 5488 | D | 7 |
| 61 | Республика Хакасия | Reg_61 | 61.6 | 536.2 | 230.1 | 21571 | 18855 | 37874 | 235310.9 | 32559 | ... | 74047 | 91648 | 53140 | 1622 | 13824 | 188.2 | 83893.5 | 14979 | D | 7 |
| 62 | Алтайский край | Reg_62 | 168.0 | 2332.8 | 1023.4 | 22829 | 17258 | 25519 | 549972.9 | 109925 | ... | 5023 | 322810 | 47440 | 10323 | 131825 | 786.1 | 352257.4 | 32799 | A | 7 |
| 63 | Красноярский край | Reg_63 | 2366.8 | 2874.0 | 1406.4 | 30015 | 23115 | 45635 | 2280025.9 | 420866 | ... | 748109 | 1206799 | 174982 | 28813 | 77914 | 1148.5 | 537966.9 | 532296 | D | 7 |
| 64 | Иркутская область | Reg_64 | 774.8 | 2397.7 | 1084.8 | 24434 | 17855 | 42647 | 1392934.8 | 316397 | ... | 603873 | 513815 | 120261 | 17839 | 63549 | 987.5 | 348024.9 | 402128 | D | 7 |
| 65 | Кемеровская область | Reg_65 | 95.7 | 2674.3 | 1195.0 | 23166 | 17749 | 38023 | 1241598.6 | 260457 | ... | 1097995 | 650683 | 95662 | 22063 | 46912 | 639.8 | 376622.0 | 249191 | D | 7 |
| 66 | Новосибирская область | Reg_66 | 177.8 | 2793.4 | 1327.0 | 28852 | 22895 | 35686 | 1252258.7 | 195950 | ... | 90661 | 533607 | 61720 | 17314 | 80192 | 1738.4 | 501403.3 | 106953 | D | 7 |
| 67 | Омская область | Reg_67 | 141.1 | 1944.2 | 891.7 | 25431 | 20844 | 32613 | 681619.5 | 118627 | ... | 3822 | 961524 | 53353 | 10937 | 94097 | 522.3 | 330565.4 | 38811 | P | 7 |
| 68 | Томская область | Reg_68 | 314.4 | 1077.4 | 508.7 | 27296 | 20314 | 41901 | 579363.4 | 94507 | ... | 217696 | 188076 | 38368 | 8863 | 30728 | 436.9 | 158537.5 | 89527 | D | 7 |
| 69 | Республика Бурятия | Reg_69 | 351.3 | 983.3 | 382.3 | 24081 | 20681 | 36047 | 226134.7 | 48754 | ... | 27974 | 65598 | 26273 | 1724 | 16214 | 247.8 | 177121.9 | 27162 | T | 8 |
| 70 | Республика Саха (Якутия) | Reg_70 | 3083.5 | 967.0 | 497.0 | 42669 | 32080 | 68871 | 1084556.2 | 403427 | ... | 804388 | 37175 | 66210 | 5384 | 25781 | 530.1 | 228740.2 | 154686 | D | 8 |
| 71 | Забайкальский край | Reg_71 | 431.9 | 1065.8 | 467.0 | 23992 | 18352 | 40740 | 326865.7 | 90058 | ... | 108400 | 23788 | 34259 | 3330 | 22904 | 186.5 | 164946.5 | -11807 | D | 8 |
| 72 | Камчатский край | Reg_72 | 464.3 | 314.7 | 163.9 | 48758 | 33201 | 73896 | 236483.5 | 39279 | ... | 21518 | 133151 | 18224 | 2501 | 8249 | 35.5 | 57195.1 | 30283 | D | 8 |
| 73 | Приморский край | Reg_73 | 164.7 | 1902.7 | 971.0 | 34619 | 27638 | 42199 | 834023.4 | 141859 | ... | 22557 | 235888 | 66550 | 9550 | 39963 | 538.2 | 406297.1 | 62261 | T | 8 |
| 74 | Хабаровский край | Reg_74 | 787.6 | 1321.5 | 691.8 | 39084 | 32997 | 47153 | 710639.6 | 129646 | ... | 91358 | 271571 | 57061 | 8244 | 17099 | 273.8 | 324055.1 | 14040 | D | 8 |
| 75 | Амурская область | Reg_75 | 361.9 | 793.2 | 387.9 | 30937 | 24938 | 42315 | 301069.4 | 239705 | ... | 60169 | 34091 | 37046 | 3074 | 47637 | 158.9 | 170850.7 | 10131 | T | 8 |
| 76 | Магаданская область | Reg_76 | 462.5 | 141.2 | 91.6 | 59774 | 35242 | 85631 | 170723.4 | 51512 | ... | 124937 | 4512 | 16012 | 933 | 2723 | 4.3 | 32286.4 | 17628 | D | 8 |
| 77 | Сахалинская область | Reg_77 | 87.1 | 489.6 | 279.7 | 53783 | 43147 | 77499 | 1179668.7 | 218339 | ... | 1016799 | 60300 | 18063 | 2621 | 11147 | 264.8 | 148497.4 | 93046 | D | 8 |
| 78 | Еврейская автономная область | Reg_78 | 36.3 | 159.9 | 65.2 | 24696 | 19064 | 39242 | 55808.8 | 16821 | ... | 10330 | 6632 | 4455 | 519 | 5772 | 27.8 | 24075.7 | -3598 | D | 8 |
| 79 | Чукотский автономный округ | Reg_79 | 721.5 | 49.7 | 33.3 | 78812 | 29505 | 98864 | 78143.4 | 15068 | ... | 67502 | 1055 | 8805 | 491 | 1334 | 1.8 | 9573.8 | 17189 | D | 8 |
| 80 | г. Москва | Reg_80 | 2.6 | 12615.3 | 8838.2 | 68386 | 54130 | 83801 | 17881516.2 | 2429320 | ... | 1808823 | 6413663 | 783384 | 154014 | 7308 | 3541.2 | 4798454.0 | 3247670 | D | 1 |
| 81 | г. Санкт-Петербург | Reg_81 | 1.4 | 5383.9 | 3151.6 | 44999 | 36774 | 60421 | 4193489.5 | 747407 | ... | 24035 | 2615910 | 213389 | 59536 | 0 | 3950.3 | 1412406.0 | 604517 | P | 2 |
| P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | P17 | P18 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <chr> |
| 27.1 | 1547.4 | 752.6 | 30778 | 24596 | 31852 | 865979.0 | 134161 | 1564553 | 148863 | 710829 | 26805 | 8936 | 257038 | 1215.5 | 336148.5 | 7 | A |
| 34.9 | 1200.2 | 523.0 | 26585 | 22871 | 27251 | 328814.0 | 59719 | 841645 | 262 | 218544 | 17730 | 8901 | 85146 | 403.1 | 253157.2 | 7 | T |
| 29.1 | 1365.8 | 628.2 | 23539 | 19761 | 30460 | 440543.0 | 74311 | 921603 | 5005 | 448428 | 36295 | 11257 | 29651 | 652.8 | 225731.2 | 7 | P |
| 52.2 | 2327.8 | 1110.2 | 30289 | 26530 | 31207 | 943595.6 | 279213 | 2017212 | 7726 | 448223 | 99618 | 13512 | 219151 | 1691.1 | 552288.4 | 7 | A |
| 21.4 | 1004.2 | 444.9 | 24503 | 19407 | 25729 | 197839.8 | 29850 | 569118 | 972 | 152792 | 31077 | 4687 | 16085 | 369.1 | 164827.4 | 7 | T |
| 29.8 | 1009.4 | 503.0 | 29129 | 23354 | 38197 | 465987.5 | 86508 | 1096796 | 3938 | 830716 | 23282 | 10017 | 43851 | 787.2 | 197086.7 | 7 | P |
| 60.2 | 637.2 | 282.2 | 23716 | 19569 | 27724 | 180287.2 | 22439 | 452611 | 401 | 135820 | 36785 | 3374 | 15929 | 196.9 | 101815.8 | 7 | P |
| 30.0 | 1107.0 | 510.8 | 27275 | 21566 | 29937 | 428441.3 | 119892 | 938417 | 91249 | 194723 | 58383 | 9053 | 146703 | 594.8 | 213277.6 | 7 | A |
| 24.0 | 1144.1 | 566.1 | 30010 | 24919 | 31622 | 580504.0 | 128533 | 1354811 | 7052 | 756976 | 25534 | 12409 | 119304 | 903.0 | 256645.4 | 7 | P |
| 44.3 | 7599.7 | 3385.7 | 44707 | 35199 | 51938 | 4201768.8 | 897801 | 8981281 | 12744 | 2600340 | 287728 | 94555 | 108423 | 8866.6 | 2355264.1 | 7 | T |
| 24.7 | 739.5 | 314.5 | 24895 | 20217 | 27476 | 230706.2 | 49547 | 522013 | 232 | 115793 | 13794 | 3890 | 72247 | 290.1 | 132137.4 | 7 | A |
| 39.6 | 1114.1 | 498.3 | 25441 | 19709 | 31916 | 383110.2 | 56987 | 1118681 | 1664 | 303564 | 38454 | 5859 | 56895 | 777.5 | 193216.7 | 7 | P |
| 49.8 | 942.4 | 432.5 | 25888 | 20633 | 29397 | 312857.0 | 71277 | 925280 | 1791 | 209367 | 55189 | 8791 | 24147 | 359.7 | 169721.9 | 7 | T |
| 34.5 | 1016.0 | 466.0 | 26828 | 21764 | 26660 | 331631.2 | 93884 | 891585 | 200 | 162991 | 15773 | 3497 | 127308 | 858.9 | 200455.6 | 7 | A |
| 84.2 | 1269.6 | 605.0 | 25125 | 19992 | 31049 | 441653.6 | 104120 | 1333698 | 970 | 308286 | 103028 | 6677 | 38927 | 424.9 | 223702.0 | 7 | P |
| 25.7 | 1478.8 | 715.1 | 27208 | 22394 | 34662 | 636133.7 | 154752 | 1243801 | 6153 | 703297 | 49812 | 10445 | 65785 | 734.8 | 289310.7 | 7 | P |
| 36.2 | 1259.6 | 622.2 | 27055 | 21314 | 33474 | 560577.9 | 80251 | 1393220 | 1566 | 390117 | 45608 | 9249 | 34072 | 767.5 | 235688.6 | 7 | P |
| 180.5 | 618.0 | 269.8 | 29150 | 23733 | 39402 | 280012.4 | 41237 | 744483 | 83395 | 121610 | 25664 | 4198 | 4498 | 271.0 | 121814.1 | 7 | D |
| 416.8 | 830.2 | 408.9 | 33961 | 23220 | 50413 | 665735.7 | 126595 | 3359325 | 400373 | 194301 | 44613 | 6331 | 10156 | 290.2 | 154571.4 | 7 | D |
| 589.9 | 1144.1 | 530.5 | 33831 | 27662 | 48307 | 819247.0 | 191318 | 2337567 | 385402 | 247567 | 34886 | 5959 | 11017 | 322.6 | 263914.7 | 7 | D |
| 144.5 | 1167.7 | 530.3 | 26982 | 19929 | 35497 | 582630.4 | 149412 | 1837512 | 798 | 692721 | 40464 | 7059 | 29255 | 535.5 | 186480.1 | 7 | P |
| 15.1 | 1002.2 | 479.9 | 27461 | 22834 | 33385 | 460854.9 | 130488 | 1038055 | 18428 | 576618 | 37791 | 6433 | 34739 | 916.0 | 170195.8 | 7 | P |
| 83.9 | 1847.9 | 778.4 | 31341 | 24285 | 43631 | 1104435.9 | 466894 | 3433453 | 15857 | 1095745 | 130252 | 13540 | 91717 | 2640.6 | 405492.0 | 7 | P |
| 144.9 | 748.1 | 363.9 | 41564 | 30699 | 58045 | 482547.9 | 144604 | 2043500 | 96258 | 185431 | 57999 | 9251 | 1823 | 46.3 | 169676.6 | 7 | D |
| 54.5 | 600.3 | 284.4 | 25292 | 22013 | 31462 | 262008.0 | 59629 | 684936 | 1178 | 201188 | 21582 | 3339 | 25982 | 264.4 | 115328.0 | 7 | P |
| 55.4 | 629.7 | 282.7 | 23880 | 20033 | 26871 | 164228.5 | 31351 | 420048 | 1959 | 103644 | 11760 | 5513 | 36929 | 235.9 | 112140.5 | 7 | A |
| 7.8 | 454.8 | 151.6 | 27553 | 22569 | 27469 | 108417.6 | 31577 | 223255 | 3393 | 52529 | 2428 | 1503 | 21899 | 187.0 | 95164.4 | 7 | T |
| 74.7 | 272.6 | 108.0 | 17082 | 10611 | 26049 | 73692.2 | 12973 | 226959 | 0 | 930 | 2700 | 0 | 26559 | 90.4 | 21333.1 | 7 | A |
| 26.1 | 1911.8 | 841.4 | 21524 | 16602 | 29640 | 391299.0 | 296019 | 2241915 | 14372 | 93537 | 37021 | 6455 | 43841 | 774.9 | 256198.0 | 7 | T |
| 75.5 | 5648.2 | 2603.1 | 34372 | 31248 | 33846 | 2344620.7 | 481141 | 6260527 | 52498 | 1025101 | 121025 | 32339 | 382468 | 4414.9 | 1368124.7 | 7 | T |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 53.6 | 3183.0 | 1652.9 | 28180 | 23863 | 33754 | 1510518.7 | 259152 | 3479558 | 368183 | 1098570 | 125309 | 37642 | 88976 | 1782.2 | 648396.3 | 7 | D |
| 101.2 | 2440.8 | 1051.4 | 21423 | 17375 | 26823 | 712545.4 | 155260 | 2007804 | 42026 | 398719 | 101302 | 12763 | 129175 | 1215.6 | 357332.5 | 7 | A |
| 37.2 | 1238.4 | 570.9 | 22797 | 18052 | 28353 | 347854.1 | 81105 | 853001 | 7982 | 256859 | 28434 | 9935 | 37868 | 981.1 | 187446.3 | 7 | P |
| 71.5 | 834.7 | 326.0 | 20334 | 16133 | 28159 | 213032.1 | 27098 | 757646 | 3222 | 105500 | 21324 | 3943 | 39511 | 231.5 | 114416.9 | 7 | A |
| 194.3 | 4315.7 | 2038.0 | 36735 | 31757 | 38052 | 2277576.3 | 318008 | 6448390 | 76538 | 1968982 | 243507 | 70627 | 84960 | 2088.2 | 1130702.0 | 7 | P |
| 1464.2 | 3724.0 | 2232.9 | 46124 | 32422 | 68664 | 8790443.4 | 2326785 | 28282720 | 6522593 | 1919669 | 317522 | 45797 | 77793 | 2120.4 | 942830.1 | 7 | D |
| 88.5 | 3475.7 | 1756.2 | 24386 | 18237 | 35219 | 1473727.8 | 259366 | 3237476 | 80990 | 1491774 | 122934 | 42781 | 119417 | 1524.4 | 518609.5 | 7 | P |
| 92.9 | 218.9 | 82.8 | 19503 | 13484 | 30953 | 50566.8 | 14470 | 142235 | 2688 | 3561 | 3048 | 395 | 11700 | 108.3 | 25989.4 | 7 | T |
| 168.6 | 324.4 | 102.9 | 15603 | 9878 | 35779 | 68774.0 | 10485 | 114199 | 28678 | 518 | 4291 | 279 | 6141 | 93.1 | 23653.4 | 7 | D |
| 61.6 | 536.2 | 230.1 | 21571 | 18855 | 37874 | 235310.9 | 32559 | 469018 | 74047 | 91648 | 53140 | 1622 | 13824 | 188.2 | 83893.5 | 7 | D |
| 168.0 | 2332.8 | 1023.4 | 22829 | 17258 | 25519 | 549972.9 | 109925 | 986820 | 5023 | 322810 | 47440 | 10323 | 131825 | 786.1 | 352257.4 | 7 | A |
| 2366.8 | 2874.0 | 1406.4 | 30015 | 23115 | 45635 | 2280025.9 | 420866 | 3949492 | 748109 | 1206799 | 174982 | 28813 | 77914 | 1148.5 | 537966.9 | 7 | D |
| 774.8 | 2397.7 | 1084.8 | 24434 | 17855 | 42647 | 1392934.8 | 316397 | 3033414 | 603873 | 513815 | 120261 | 17839 | 63549 | 987.5 | 348024.9 | 7 | D |
| 95.7 | 2674.3 | 1195.0 | 23166 | 17749 | 38023 | 1241598.6 | 260457 | 2738986 | 1097995 | 650683 | 95662 | 22063 | 46912 | 639.8 | 376622.0 | 7 | D |
| 177.8 | 2793.4 | 1327.0 | 28852 | 22895 | 35686 | 1252258.7 | 195950 | 2259167 | 90661 | 533607 | 61720 | 17314 | 80192 | 1738.4 | 501403.3 | 7 | D |
| 141.1 | 1944.2 | 891.7 | 25431 | 20844 | 32613 | 681619.5 | 118627 | 1131964 | 3822 | 961524 | 53353 | 10937 | 94097 | 522.3 | 330565.4 | 7 | P |
| 314.4 | 1077.4 | 508.7 | 27296 | 20314 | 41901 | 579363.4 | 94507 | 1355788 | 217696 | 188076 | 38368 | 8863 | 30728 | 436.9 | 158537.5 | 7 | D |
| 351.3 | 983.3 | 382.3 | 24081 | 20681 | 36047 | 226134.7 | 48754 | 743113 | 27974 | 65598 | 26273 | 1724 | 16214 | 247.8 | 177121.9 | 7 | T |
| 3083.5 | 967.0 | 497.0 | 42669 | 32080 | 68871 | 1084556.2 | 403427 | 2443951 | 804388 | 37175 | 66210 | 5384 | 25781 | 530.1 | 228740.2 | 7 | D |
| 431.9 | 1065.8 | 467.0 | 23992 | 18352 | 40740 | 326865.7 | 90058 | 989829 | 108400 | 23788 | 34259 | 3330 | 22904 | 186.5 | 164946.5 | 7 | D |
| 464.3 | 314.7 | 163.9 | 48758 | 33201 | 73896 | 236483.5 | 39279 | 534999 | 21518 | 133151 | 18224 | 2501 | 8249 | 35.5 | 57195.1 | 7 | D |
| 164.7 | 1902.7 | 971.0 | 34619 | 27638 | 42199 | 834023.4 | 141859 | 3424996 | 22557 | 235888 | 66550 | 9550 | 39963 | 538.2 | 406297.1 | 7 | T |
| 787.6 | 1321.5 | 691.8 | 39084 | 32997 | 47153 | 710639.6 | 129646 | 1722484 | 91358 | 271571 | 57061 | 8244 | 17099 | 273.8 | 324055.1 | 7 | D |
| 361.9 | 793.2 | 387.9 | 30937 | 24938 | 42315 | 301069.4 | 239705 | 1168547 | 60169 | 34091 | 37046 | 3074 | 47637 | 158.9 | 170850.7 | 7 | T |
| 462.5 | 141.2 | 91.6 | 59774 | 35242 | 85631 | 170723.4 | 51512 | 347962 | 124937 | 4512 | 16012 | 933 | 2723 | 4.3 | 32286.4 | 7 | D |
| 87.1 | 489.6 | 279.7 | 53783 | 43147 | 77499 | 1179668.7 | 218339 | 3170137 | 1016799 | 60300 | 18063 | 2621 | 11147 | 264.8 | 148497.4 | 7 | D |
| 36.3 | 159.9 | 65.2 | 24696 | 19064 | 39242 | 55808.8 | 16821 | 259059 | 10330 | 6632 | 4455 | 519 | 5772 | 27.8 | 24075.7 | 7 | D |
| 721.5 | 49.7 | 33.3 | 78812 | 29505 | 98864 | 78143.4 | 15068 | 190354 | 67502 | 1055 | 8805 | 491 | 1334 | 1.8 | 9573.8 | 7 | D |
| 2.6 | 12615.3 | 8838.2 | 68386 | 54130 | 83801 | 17881516.2 | 2429320 | 40602319 | 1808823 | 6413663 | 783384 | 154014 | 7308 | 3541.2 | 4798454.0 | 7 | D |
| 1.4 | 5383.9 | 3151.6 | 44999 | 36774 | 60421 | 4193489.5 | 747407 | 7816952 | 24035 | 2615910 | 213389 | 59536 | 0 | 3950.3 | 1412406.0 | 7 | P |
[1] "Имена этих переменных:"
| P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> |
| 27.1 | 1547.4 | 752.6 | 30778 | 24596 | 31852 | 865979.0 | 134161 | 1564553 | 148863 | 710829 | 26805 | 8936 | 257038 | 1215.5 | 336148.5 |
| 34.9 | 1200.2 | 523.0 | 26585 | 22871 | 27251 | 328814.0 | 59719 | 841645 | 262 | 218544 | 17730 | 8901 | 85146 | 403.1 | 253157.2 |
| 29.1 | 1365.8 | 628.2 | 23539 | 19761 | 30460 | 440543.0 | 74311 | 921603 | 5005 | 448428 | 36295 | 11257 | 29651 | 652.8 | 225731.2 |
| 52.2 | 2327.8 | 1110.2 | 30289 | 26530 | 31207 | 943595.6 | 279213 | 2017212 | 7726 | 448223 | 99618 | 13512 | 219151 | 1691.1 | 552288.4 |
| 21.4 | 1004.2 | 444.9 | 24503 | 19407 | 25729 | 197839.8 | 29850 | 569118 | 972 | 152792 | 31077 | 4687 | 16085 | 369.1 | 164827.4 |
| 29.8 | 1009.4 | 503.0 | 29129 | 23354 | 38197 | 465987.5 | 86508 | 1096796 | 3938 | 830716 | 23282 | 10017 | 43851 | 787.2 | 197086.7 |
| 60.2 | 637.2 | 282.2 | 23716 | 19569 | 27724 | 180287.2 | 22439 | 452611 | 401 | 135820 | 36785 | 3374 | 15929 | 196.9 | 101815.8 |
| 30.0 | 1107.0 | 510.8 | 27275 | 21566 | 29937 | 428441.3 | 119892 | 938417 | 91249 | 194723 | 58383 | 9053 | 146703 | 594.8 | 213277.6 |
| 24.0 | 1144.1 | 566.1 | 30010 | 24919 | 31622 | 580504.0 | 128533 | 1354811 | 7052 | 756976 | 25534 | 12409 | 119304 | 903.0 | 256645.4 |
| 44.3 | 7599.7 | 3385.7 | 44707 | 35199 | 51938 | 4201768.8 | 897801 | 8981281 | 12744 | 2600340 | 287728 | 94555 | 108423 | 8866.6 | 2355264.1 |
| 24.7 | 739.5 | 314.5 | 24895 | 20217 | 27476 | 230706.2 | 49547 | 522013 | 232 | 115793 | 13794 | 3890 | 72247 | 290.1 | 132137.4 |
| 39.6 | 1114.1 | 498.3 | 25441 | 19709 | 31916 | 383110.2 | 56987 | 1118681 | 1664 | 303564 | 38454 | 5859 | 56895 | 777.5 | 193216.7 |
| 49.8 | 942.4 | 432.5 | 25888 | 20633 | 29397 | 312857.0 | 71277 | 925280 | 1791 | 209367 | 55189 | 8791 | 24147 | 359.7 | 169721.9 |
| 34.5 | 1016.0 | 466.0 | 26828 | 21764 | 26660 | 331631.2 | 93884 | 891585 | 200 | 162991 | 15773 | 3497 | 127308 | 858.9 | 200455.6 |
| 84.2 | 1269.6 | 605.0 | 25125 | 19992 | 31049 | 441653.6 | 104120 | 1333698 | 970 | 308286 | 103028 | 6677 | 38927 | 424.9 | 223702.0 |
| 25.7 | 1478.8 | 715.1 | 27208 | 22394 | 34662 | 636133.7 | 154752 | 1243801 | 6153 | 703297 | 49812 | 10445 | 65785 | 734.8 | 289310.7 |
| 36.2 | 1259.6 | 622.2 | 27055 | 21314 | 33474 | 560577.9 | 80251 | 1393220 | 1566 | 390117 | 45608 | 9249 | 34072 | 767.5 | 235688.6 |
| 180.5 | 618.0 | 269.8 | 29150 | 23733 | 39402 | 280012.4 | 41237 | 744483 | 83395 | 121610 | 25664 | 4198 | 4498 | 271.0 | 121814.1 |
| 416.8 | 830.2 | 408.9 | 33961 | 23220 | 50413 | 665735.7 | 126595 | 3359325 | 400373 | 194301 | 44613 | 6331 | 10156 | 290.2 | 154571.4 |
| 589.9 | 1144.1 | 530.5 | 33831 | 27662 | 48307 | 819247.0 | 191318 | 2337567 | 385402 | 247567 | 34886 | 5959 | 11017 | 322.6 | 263914.7 |
| 144.5 | 1167.7 | 530.3 | 26982 | 19929 | 35497 | 582630.4 | 149412 | 1837512 | 798 | 692721 | 40464 | 7059 | 29255 | 535.5 | 186480.1 |
| 15.1 | 1002.2 | 479.9 | 27461 | 22834 | 33385 | 460854.9 | 130488 | 1038055 | 18428 | 576618 | 37791 | 6433 | 34739 | 916.0 | 170195.8 |
| 83.9 | 1847.9 | 778.4 | 31341 | 24285 | 43631 | 1104435.9 | 466894 | 3433453 | 15857 | 1095745 | 130252 | 13540 | 91717 | 2640.6 | 405492.0 |
| 144.9 | 748.1 | 363.9 | 41564 | 30699 | 58045 | 482547.9 | 144604 | 2043500 | 96258 | 185431 | 57999 | 9251 | 1823 | 46.3 | 169676.6 |
| 54.5 | 600.3 | 284.4 | 25292 | 22013 | 31462 | 262008.0 | 59629 | 684936 | 1178 | 201188 | 21582 | 3339 | 25982 | 264.4 | 115328.0 |
| 55.4 | 629.7 | 282.7 | 23880 | 20033 | 26871 | 164228.5 | 31351 | 420048 | 1959 | 103644 | 11760 | 5513 | 36929 | 235.9 | 112140.5 |
| 7.8 | 454.8 | 151.6 | 27553 | 22569 | 27469 | 108417.6 | 31577 | 223255 | 3393 | 52529 | 2428 | 1503 | 21899 | 187.0 | 95164.4 |
| 74.7 | 272.6 | 108.0 | 17082 | 10611 | 26049 | 73692.2 | 12973 | 226959 | 0 | 930 | 2700 | 0 | 26559 | 90.4 | 21333.1 |
| 26.1 | 1911.8 | 841.4 | 21524 | 16602 | 29640 | 391299.0 | 296019 | 2241915 | 14372 | 93537 | 37021 | 6455 | 43841 | 774.9 | 256198.0 |
| 75.5 | 5648.2 | 2603.1 | 34372 | 31248 | 33846 | 2344620.7 | 481141 | 6260527 | 52498 | 1025101 | 121025 | 32339 | 382468 | 4414.9 | 1368124.7 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 53.6 | 3183.0 | 1652.9 | 28180 | 23863 | 33754 | 1510518.7 | 259152 | 3479558 | 368183 | 1098570 | 125309 | 37642 | 88976 | 1782.2 | 648396.3 |
| 101.2 | 2440.8 | 1051.4 | 21423 | 17375 | 26823 | 712545.4 | 155260 | 2007804 | 42026 | 398719 | 101302 | 12763 | 129175 | 1215.6 | 357332.5 |
| 37.2 | 1238.4 | 570.9 | 22797 | 18052 | 28353 | 347854.1 | 81105 | 853001 | 7982 | 256859 | 28434 | 9935 | 37868 | 981.1 | 187446.3 |
| 71.5 | 834.7 | 326.0 | 20334 | 16133 | 28159 | 213032.1 | 27098 | 757646 | 3222 | 105500 | 21324 | 3943 | 39511 | 231.5 | 114416.9 |
| 194.3 | 4315.7 | 2038.0 | 36735 | 31757 | 38052 | 2277576.3 | 318008 | 6448390 | 76538 | 1968982 | 243507 | 70627 | 84960 | 2088.2 | 1130702.0 |
| 1464.2 | 3724.0 | 2232.9 | 46124 | 32422 | 68664 | 8790443.4 | 2326785 | 28282720 | 6522593 | 1919669 | 317522 | 45797 | 77793 | 2120.4 | 942830.1 |
| 88.5 | 3475.7 | 1756.2 | 24386 | 18237 | 35219 | 1473727.8 | 259366 | 3237476 | 80990 | 1491774 | 122934 | 42781 | 119417 | 1524.4 | 518609.5 |
| 92.9 | 218.9 | 82.8 | 19503 | 13484 | 30953 | 50566.8 | 14470 | 142235 | 2688 | 3561 | 3048 | 395 | 11700 | 108.3 | 25989.4 |
| 168.6 | 324.4 | 102.9 | 15603 | 9878 | 35779 | 68774.0 | 10485 | 114199 | 28678 | 518 | 4291 | 279 | 6141 | 93.1 | 23653.4 |
| 61.6 | 536.2 | 230.1 | 21571 | 18855 | 37874 | 235310.9 | 32559 | 469018 | 74047 | 91648 | 53140 | 1622 | 13824 | 188.2 | 83893.5 |
| 168.0 | 2332.8 | 1023.4 | 22829 | 17258 | 25519 | 549972.9 | 109925 | 986820 | 5023 | 322810 | 47440 | 10323 | 131825 | 786.1 | 352257.4 |
| 2366.8 | 2874.0 | 1406.4 | 30015 | 23115 | 45635 | 2280025.9 | 420866 | 3949492 | 748109 | 1206799 | 174982 | 28813 | 77914 | 1148.5 | 537966.9 |
| 774.8 | 2397.7 | 1084.8 | 24434 | 17855 | 42647 | 1392934.8 | 316397 | 3033414 | 603873 | 513815 | 120261 | 17839 | 63549 | 987.5 | 348024.9 |
| 95.7 | 2674.3 | 1195.0 | 23166 | 17749 | 38023 | 1241598.6 | 260457 | 2738986 | 1097995 | 650683 | 95662 | 22063 | 46912 | 639.8 | 376622.0 |
| 177.8 | 2793.4 | 1327.0 | 28852 | 22895 | 35686 | 1252258.7 | 195950 | 2259167 | 90661 | 533607 | 61720 | 17314 | 80192 | 1738.4 | 501403.3 |
| 141.1 | 1944.2 | 891.7 | 25431 | 20844 | 32613 | 681619.5 | 118627 | 1131964 | 3822 | 961524 | 53353 | 10937 | 94097 | 522.3 | 330565.4 |
| 314.4 | 1077.4 | 508.7 | 27296 | 20314 | 41901 | 579363.4 | 94507 | 1355788 | 217696 | 188076 | 38368 | 8863 | 30728 | 436.9 | 158537.5 |
| 351.3 | 983.3 | 382.3 | 24081 | 20681 | 36047 | 226134.7 | 48754 | 743113 | 27974 | 65598 | 26273 | 1724 | 16214 | 247.8 | 177121.9 |
| 3083.5 | 967.0 | 497.0 | 42669 | 32080 | 68871 | 1084556.2 | 403427 | 2443951 | 804388 | 37175 | 66210 | 5384 | 25781 | 530.1 | 228740.2 |
| 431.9 | 1065.8 | 467.0 | 23992 | 18352 | 40740 | 326865.7 | 90058 | 989829 | 108400 | 23788 | 34259 | 3330 | 22904 | 186.5 | 164946.5 |
| 464.3 | 314.7 | 163.9 | 48758 | 33201 | 73896 | 236483.5 | 39279 | 534999 | 21518 | 133151 | 18224 | 2501 | 8249 | 35.5 | 57195.1 |
| 164.7 | 1902.7 | 971.0 | 34619 | 27638 | 42199 | 834023.4 | 141859 | 3424996 | 22557 | 235888 | 66550 | 9550 | 39963 | 538.2 | 406297.1 |
| 787.6 | 1321.5 | 691.8 | 39084 | 32997 | 47153 | 710639.6 | 129646 | 1722484 | 91358 | 271571 | 57061 | 8244 | 17099 | 273.8 | 324055.1 |
| 361.9 | 793.2 | 387.9 | 30937 | 24938 | 42315 | 301069.4 | 239705 | 1168547 | 60169 | 34091 | 37046 | 3074 | 47637 | 158.9 | 170850.7 |
| 462.5 | 141.2 | 91.6 | 59774 | 35242 | 85631 | 170723.4 | 51512 | 347962 | 124937 | 4512 | 16012 | 933 | 2723 | 4.3 | 32286.4 |
| 87.1 | 489.6 | 279.7 | 53783 | 43147 | 77499 | 1179668.7 | 218339 | 3170137 | 1016799 | 60300 | 18063 | 2621 | 11147 | 264.8 | 148497.4 |
| 36.3 | 159.9 | 65.2 | 24696 | 19064 | 39242 | 55808.8 | 16821 | 259059 | 10330 | 6632 | 4455 | 519 | 5772 | 27.8 | 24075.7 |
| 721.5 | 49.7 | 33.3 | 78812 | 29505 | 98864 | 78143.4 | 15068 | 190354 | 67502 | 1055 | 8805 | 491 | 1334 | 1.8 | 9573.8 |
| 2.6 | 12615.3 | 8838.2 | 68386 | 54130 | 83801 | 17881516.2 | 2429320 | 40602319 | 1808823 | 6413663 | 783384 | 154014 | 7308 | 3541.2 | 4798454.0 |
| 1.4 | 5383.9 | 3151.6 | 44999 | 36774 | 60421 | 4193489.5 | 747407 | 7816952 | 24035 | 2615910 | 213389 | 59536 | 0 | 3950.3 | 1412406.0 |
[1] "Имена этих переменных:"
| P1 | P6 | P10 | P14 | P15 |
|---|---|---|---|---|
| <dbl> | <dbl> | <dbl> | <dbl> | <dbl> |
| 27.1 | 31852 | 148863 | 257038 | 1215.5 |
| 34.9 | 27251 | 262 | 85146 | 403.1 |
| 29.1 | 30460 | 5005 | 29651 | 652.8 |
| 52.2 | 31207 | 7726 | 219151 | 1691.1 |
| 21.4 | 25729 | 972 | 16085 | 369.1 |
| 29.8 | 38197 | 3938 | 43851 | 787.2 |
| 60.2 | 27724 | 401 | 15929 | 196.9 |
| 30.0 | 29937 | 91249 | 146703 | 594.8 |
| 24.0 | 31622 | 7052 | 119304 | 903.0 |
| 44.3 | 51938 | 12744 | 108423 | 8866.6 |
| 24.7 | 27476 | 232 | 72247 | 290.1 |
| 39.6 | 31916 | 1664 | 56895 | 777.5 |
| 49.8 | 29397 | 1791 | 24147 | 359.7 |
| 34.5 | 26660 | 200 | 127308 | 858.9 |
| 84.2 | 31049 | 970 | 38927 | 424.9 |
| 25.7 | 34662 | 6153 | 65785 | 734.8 |
| 36.2 | 33474 | 1566 | 34072 | 767.5 |
| 180.5 | 39402 | 83395 | 4498 | 271.0 |
| 416.8 | 50413 | 400373 | 10156 | 290.2 |
| 589.9 | 48307 | 385402 | 11017 | 322.6 |
| 144.5 | 35497 | 798 | 29255 | 535.5 |
| 15.1 | 33385 | 18428 | 34739 | 916.0 |
| 83.9 | 43631 | 15857 | 91717 | 2640.6 |
| 144.9 | 58045 | 96258 | 1823 | 46.3 |
| 54.5 | 31462 | 1178 | 25982 | 264.4 |
| 55.4 | 26871 | 1959 | 36929 | 235.9 |
| 7.8 | 27469 | 3393 | 21899 | 187.0 |
| 74.7 | 26049 | 0 | 26559 | 90.4 |
| 26.1 | 29640 | 14372 | 43841 | 774.9 |
| 75.5 | 33846 | 52498 | 382468 | 4414.9 |
| ... | ... | ... | ... | ... |
| 53.6 | 33754 | 368183 | 88976 | 1782.2 |
| 101.2 | 26823 | 42026 | 129175 | 1215.6 |
| 37.2 | 28353 | 7982 | 37868 | 981.1 |
| 71.5 | 28159 | 3222 | 39511 | 231.5 |
| 194.3 | 38052 | 76538 | 84960 | 2088.2 |
| 1464.2 | 68664 | 6522593 | 77793 | 2120.4 |
| 88.5 | 35219 | 80990 | 119417 | 1524.4 |
| 92.9 | 30953 | 2688 | 11700 | 108.3 |
| 168.6 | 35779 | 28678 | 6141 | 93.1 |
| 61.6 | 37874 | 74047 | 13824 | 188.2 |
| 168.0 | 25519 | 5023 | 131825 | 786.1 |
| 2366.8 | 45635 | 748109 | 77914 | 1148.5 |
| 774.8 | 42647 | 603873 | 63549 | 987.5 |
| 95.7 | 38023 | 1097995 | 46912 | 639.8 |
| 177.8 | 35686 | 90661 | 80192 | 1738.4 |
| 141.1 | 32613 | 3822 | 94097 | 522.3 |
| 314.4 | 41901 | 217696 | 30728 | 436.9 |
| 351.3 | 36047 | 27974 | 16214 | 247.8 |
| 3083.5 | 68871 | 804388 | 25781 | 530.1 |
| 431.9 | 40740 | 108400 | 22904 | 186.5 |
| 464.3 | 73896 | 21518 | 8249 | 35.5 |
| 164.7 | 42199 | 22557 | 39963 | 538.2 |
| 787.6 | 47153 | 91358 | 17099 | 273.8 |
| 361.9 | 42315 | 60169 | 47637 | 158.9 |
| 462.5 | 85631 | 124937 | 2723 | 4.3 |
| 87.1 | 77499 | 1016799 | 11147 | 264.8 |
| 36.3 | 39242 | 10330 | 5772 | 27.8 |
| 721.5 | 98864 | 67502 | 1334 | 1.8 |
| 2.6 | 83801 | 1808823 | 7308 | 3541.2 |
| 1.4 | 60421 | 24035 | 0 | 3950.3 |
Существует ряд методов, которые позволяют ранжировать предикторы и отсеивать наименее значемые из них на основе данных о целевой переменной и гипотезе о виде модели (3).Подобные методы включают процесс оценки предикторов в процесс построения и оценивания модели.Поэтому, условно этот подход можно назвать модельным оцениванием важности предикторов. Мы рассмотрим два варианта использования данного подхода. Первый в качестве целевой переменной будем рассматривать переменную, значения которой измерено в номинальной шкале (для примера в качестве такой переменной используем переменную из наших данных "Тип экономики региона"). Второй вариант предпологает метрическую целевую переменную (мы будем использовать здесь показатель P15 "Ввод в действие жилых домов").
Рассмотрим как можно оценить важность предикторов при реализации процедур классификаци (обучение с учителем).Будем использовать для этого несколько широко известных процедур классификации: Random Forest,Recursive partitioning,Naive bayesian classifier, KNN
Программный код на R пакет "caret" имеет следующий вид:
options(warn=-1)
library(caret)
library(openxlsx)
library(vegan)
library(randomForest)
library(class)
library(cluster)
library(e1071)
library(klaR)
library(rpart)
library(kknn)
#rm(list=ls(all=TRUE))
#ЗАГРУЗКА ИЗ EXSEL ПЕРВИЧНЫХ ДАННЫХ
N=1 # номер листа с данными
x <-read.xlsx("Region_Data4.xlsx", sheet = N)
#x
#ФОРМИРОВАНИЕ data.frame ОСНОВНЫЕ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ РЕГИОНОВ РФ
xreg <-data.frame(P1=x$Pok_001,P2=x$Pok_002,P3=x$Pok_003,P4=x$Pok_004,
P5=x$Pok_005,P6=x$Pok_006,P7=x$Pok_007,P8=x$Pok_008,P9=x$Pok_009,P10=x$Pok_010,
P11=x$Pok_011,P12=x$Pok_012,P13=x$Pok_013,P14=x$Pok_014,P15=x$Pok_015,P16=x$Pok_016,
P17=x$Pok_017,P18=x$Pok_018)
#xreg
#Формирование фактора тип экономики региона
(xreg_f <- as.factor(x$Pok_018))
reg_ru = xreg[, -18]
y=xreg_f
#модель случайные деревья
train.index <- createDataPartition(y, p = .8, times = 20)
trControl = trainControl(method="oob", index = train.index)
print("Модель на основе исходного набора из 17 предикторов")
(modSource <- train(reg_ru, y, "rf", trControl = trControl))
#показатели важности переменных могут быть рассчитаны функцией varImp()
VagRf <-varImp(modSource, scale = FALSE)
x11()
plot(VagRf)
#Деревья на основе рекурсивного деления (recursive partitioning)
y=xreg_f
train.index <- createDataPartition(y, p = .8, times = 20)
trControl = trainControl(method="LGOCV", index = train.index)
print("Модель на основе исходного набора из 17 предикторов")
(modSource <- train(reg_ru, y, "rpart", trControl = trControl))
VagRp <-varImp(modSource, scale = FALSE)
x11()
plot(VagRp)
#Наивный байесовский классификатор
y=xreg_f
train.index <- createDataPartition(y, p = .8, times = 20)
trControl = trainControl(method="LGOCV", index = train.index)
print("Модель на основе исходного набора из 17 предикторов")
(modSource <- train(reg_ru, y, "nb", trControl = trControl))
VagNbc <-varImp(modSource, scale = FALSE)
x11()
plot(VagNbc)
#Алгоритм knn
w=c(10,11,14,16)
y=xreg_f
xx <-reg_ru
#xx <-xreg[,w]
train.index <- createDataPartition(y, p = .8, times = 20)
trControl = trainControl(method="LGOCV", index = train.index)
print("Модель на основе набора исходного набора из 17 предикторов")
(modSource <- train(xx, y, "kknn", trControl = trControl))
VagKNN <-varImp(modSource, scale = FALSE)
x11()
plot(VagKNN)
#Полученные результаты
[1] "Модель на основе исходного набора из 17 предикторов"
Random Forest 81 samples 17 predictors 4 classes: 'A', 'D', 'P', 'T' No pre-processing Resampling: Out of Bag Resampling Summary of sample sizes: 66, 66, 66, 66, 66, 66, ... Resampling results across tuning parameters: mtry Accuracy Kappa 2 0.5432099 0.3760150 9 0.6296296 0.4973107 17 0.5802469 0.4286307 Accuracy was used to select the optimal model using the largest value. The final value used for the model was mtry = 9.
[1] "Модель на основе исходного набора из 17 предикторов"
CART 81 samples 17 predictors 4 classes: 'A', 'D', 'P', 'T' No pre-processing Resampling: Repeated Train/Test Splits Estimated (20 reps, 75%) Summary of sample sizes: 66, 66, 66, 66, 66, 66, ... Resampling results across tuning parameters: cp Accuracy Kappa 0.05357143 0.5166667 0.34018849 0.17857143 0.4700000 0.25573559 0.28571429 0.3700000 0.08618519 Accuracy was used to select the optimal model using the largest value. The final value used for the model was cp = 0.05357143.
[1] "Модель на основе исходного набора из 17 предикторов"
Naive Bayes 81 samples 17 predictors 4 classes: 'A', 'D', 'P', 'T' No pre-processing Resampling: Repeated Train/Test Splits Estimated (20 reps, 75%) Summary of sample sizes: 66, 66, 66, 66, 66, 66, ... Resampling results across tuning parameters: usekernel Accuracy Kappa FALSE 0.4933333 0.3302650 TRUE 0.4633333 0.2856843 Tuning parameter 'fL' was held constant at a value of 0 Tuning parameter 'adjust' was held constant at a value of 1 Accuracy was used to select the optimal model using the largest value. The final values used for the model were fL = 0, usekernel = FALSE and adjust = 1.
[1] "Модель на основе набора исходного набора из 17 предикторов"
k-Nearest Neighbors 81 samples 17 predictors 4 classes: 'A', 'D', 'P', 'T' No pre-processing Resampling: Repeated Train/Test Splits Estimated (20 reps, 75%) Summary of sample sizes: 66, 66, 66, 66, 66, 66, ... Resampling results across tuning parameters: kmax Accuracy Kappa 5 0.58 0.4344736 7 0.58 0.4344736 9 0.57 0.4220641 Tuning parameter 'distance' was held constant at a value of 2 Tuning parameter 'kernel' was held constant at a value of optimal Accuracy was used to select the optimal model using the largest value. The final values used for the model were kmax = 7, distance = 2 and kernel = optimal.
#Код python для RandomForest:
import warnings
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import scipy.stats as st
import matplotlib.pyplot as plt
from pandas import Series, DataFrame
import pandas as pd
import openpyxl
import xlrd
from sklearn.ensemble import RandomForestRegressor
warnings.simplefilter('ignore')
data_regru =pd.ExcelFile('Region_Data.xlsx')
tabledat =data_regru.parse('dat01')
#print(tabledat )
#ФОРМИРОВАНИЕ ЦЕЛЕВОЙ ПЕРЕМЕННОЙ
Y=tabledat['P18']
#ФОРМИРОВАНИЕ МАССИВА ИЗ 17 ПЕРЕМЕННЫХ
X =DataFrame(tabledat, columns=['P1','P2','P3','P4','P5','P6', 'P7','P8', 'P9', 'P10','P11','P12',
'P13','P14','P15','P16','P17'])
regr = RandomForestRegressor(max_depth=2, random_state=0)
regr.fit(X, Y)
features = X.columns
vagRf = regr.feature_importances_
indices = np.argsort(vagRf )
plt.title('Важность предикторов')
plt.barh(range(len(indices)),vagRf [indices], color='b', align='center')
plt.yticks(range(len(indices)), [features[i] for i in indices])
plt.xlabel('Уровень важности')
plt.show()
#Результаты работы кода python
Как видно из выше приведенных графиков есть в ранжировке предикторов по важности определенные отличия по методам их получения, но тем не менее ранжировки достаточно схожи и позволяют выделить несколько навиболее важных предикторов для классификации регионов по типу экономики: P6,P10,P14,P1,P11.
Здесь мы используем для оценки важности предикторов регрессии для целевой переменной,измеренной в метрической шкале. В качестве целевой переменной примем P15, а в качестве предикторов P2-P14,P16.
Модель множественной линейной регрессии является, безусловно, весьма полезной и широко применяемой для прогнозирования количественного отклика. Считается, что наиболее эффективный путь улучшения качества регрессии - исключение незначимых коэффициентов, или, выражаясь точнее, отбор информативного комплекса $S_q$ из $q$ переменных ($q < m$). Причины, по которым стоит проводить селекцию "оптимального подмножества" предикторов, состоит в следующем:
Принцип бритвы Оккама утверждает, что из нескольких вероятных объяснений явления лучшим является самое простое. Компактная модель, из которой удалены избыточные предикторы, лучше объясняет имеющиеся данные.
Ненужные предикторы добавляют шум к оценке влияния других интересующих нас факторов. Иначе степени свободы (часто ограниченные) будут тратиться впустую.
При наличии коллинеарности некоторые переменные будут "пытаться сделать одну и ту же работу" (т.е., повторно объяснять вариацию значений зависимой переменной).
Если модель используется для прогнозирования, то можно сэкономить время и/или деньги, не измеряя избыточные переменные.
Алгоритмы выбора оптимального подмножества $S_q$ обычно основаны на последовательном "переборном" процессе, при котором многократно создаются модели с различными наборами предикторов, лучшая из которых определяется по некоторому критерию эффективности Воспользуемся следующими методами: пошаговый (forward/backward) метод селекции,рекурсивное исключение переменных и процедуры, реализованные в пакете Boruta
Пошаговая (forward/backward)селекция ппеременных:
Сначала мы берем все n переменных, присутствующих в нашем наборе данных, и обучаем модель, используя их.
Затем мы рассчитываем эффективность модели.
Теперь мы вычисляем эффективность модели после исключения каждой переменной (n раз), т.е. мы отбрасываем по одной переменной каждый раз и обучаем модель на оставшихся n-1 переменных.
Мы определяем переменную, удаление которой привело к наименьшему (или отсутствию) изменения эффективности модели, а затем отбрасываем эту переменную.
Повторяйте этот процесс до тех пор, пока никакие переменные не будут удаляться.
Рекурсивное исключение переменных:
Алгоритм рекурсивного исключения (RFE - Recursive Feature Elimination) выполняется следующим образом. Вначале строится модель по всем предикторам, которые ранжируются по их важности. Далее рассматривается последовательность подмножеств $\bf S$ ( $\bf S_1>\bf S_2$ , и т.д.) из переменных наивысшего ранга. На каждой итерации подмножества $\bf S_i$ ранги предикторов пересматриваются, а модели пересчитываются. Итоговая модель основывается на подмножестве $\bf S_i$ , обеспечивающем оптимум заданному критерию качества.
Пакет Boruta:
Набор данных дополняется копиями всех предикторов - так называемыми “теневыми” предикторами. Их создается как минимум 5, даже если исходных предикторов меньше 5.
Значения добавленных предикторов случайным образом перемешиваются, чтобы они перестали быть связанными с целевой переменной.
Обучается модель типа "случайный лес" (можно использовать и другие модели), из которой извлекаются рассчитанные значения $Z$-оценок
Находится максимальное значение $Z$-оценки для "теневых" предикторов ($MZSA$ - maximum $Z$-score for shadow attributes). Отмечаются все предикторы, чьи оценки лучше $MZSA$.
Для каждого предиктора, чья важность неизвестна, выполняется двусторонний тест на равенство с $MZSA$.
Предикторы с важностью, статистически значимо меньшей MZSA, признаются "неважными" и безвозвратно удаляются из набора данных.
Предикторы с важностью, статистически значимо большей $MZSA$, признаются "важными".
Удаляются все "теневые" предикторы.
Процедура повторяется до тех пор, пока в наборе данных не останутся только важные предикторы, или пока не будет достигнуто заданное максимальное число итераций.
Реализум данные методы в R с использованием пакета "caret" . Программный код представлен ниже.
options(warn=-1)
library(openxlsx)
library(ggplot2)
library(car)
library(hexbin)
library(caret)
library(glmnet)
#ЗАГРУЗКА ИЗ EXSEL ПЕВИЧНЫХ ДАННЫХ
N=1 # номер листа с данными
x <-read.xlsx("Region_Data4.xlsx", sheet = N)
#x
#ОСНОВНЫЕ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ РЕГИОНОВ РФ ЗА 2018 ГОД
xreg <-data.frame(P1=x$Pok_001,P2=x$Pok_002,P3=x$Pok_003,P4=x$Pok_004,
P5=x$Pok_005,P6=x$Pok_006,P7=x$Pok_007,P8=x$Pok_008,P9=x$Pok_009,P10=x$Pok_010,
P11=x$Pok_011,P12=x$Pok_012,P13=x$Pok_013,P14=x$Pok_014,P15=x$Pok_015,P16=x$Pok_016,
P17=x$Pok_017,P18=x$Pok_018)
#xreg
#P1 - Площадь территории,тыс. км2
#P2 - Численность населения на 1 января 2019 г., тыс. человек
#P3 - Среднегодовая численность занятых, тыс. человек
#P4 - Среднедушевые денежные доходы (в месяц), руб
#P5 - Потребительские расходы в среднем на душу населения (в месяц), руб
#P6 - Среднемесячная номинальная начисленная заработная плата работников организаций, руб.
#P7 - Валовой региональный продукт в 2018 г. , млн руб
#P8 - Инвестиции в основной капитал, млн руб
#P9 - Основные фонды в экономике (по полной учетной стоимости; на конец года),млн руб.
#P10 - Добыча полезных ископаемых ,млн. руб
#P11 - Обрабатывающие производства, млн руб
#P12 - Обеспечение электрической энергией, газом и паром, млн руб
#P13 - Водоснабжение; водоотведение, организация сбора и утилизации отходов, млн руб
#P14 - Продукция сельского хозяйства , млн руб
#P15 - Ввод в действие жилых домов, тыс. м2
#P16 - Оборот розничной торговли, млн руб
#P17 - Сальдированный финансовый результат деятельности организаций, млн руб.
#P18 - Тип региональной экономики (A,D,P,T)
w=c(-17,-18)
x_reg =xreg[,w]
w=c(-1,-15)
x_pred =x_reg[,w]
y = xreg[,15]
#нормирующая функция---------------------------
norm <-function(x){
return ((x-min(x))/(max(x)-min(x)))
}
x_pred.nor <-as.data.frame(lapply(x_pred,norm))
data_reg <-cbind(y,x_pred.nor)
#линейная модель на всех 14 предикторах
lm.y <- lm(y ~ ., data = data_reg[,1:15])
summary(lm.y)
#стандартная пошаговая процедура включений с
#исключениями "слабых" предикторов
lm_step.y <- step(lm.y,trace = 0)
summary(lm_step.y)
(anova(lm.y,lm_step.y))
#Выполним тестирование обоих моделей функцией train()
#с использованием 10-кратной перекрестной проверки:
lm.y.cv <- train(y ~ ., data = data_reg[,1:15], method = 'lm',
trControl = trainControl(method = "cv"))
lm.y.cv
lm_step.y.cv <- train(y ~ P2 + P3 + P8 + P9 + P10 + P11 +P13+
P16, data = data_reg[,1:15], method = 'lm',
trControl = trainControl(method = "cv"))
lm_step.y.cv
#Рекурсивное исключение переменных
set.seed(10)
ctrl <- rfeControl(functions = lmFuncs, method = "cv",
verbose = FALSE, returnResamp = "final")
lmProfileF <- rfe(data_reg[,1:15], data_reg$y,
sizes = 1:15, rfeControl = ctrl)
x11()
ggplot(lmProfileF, metric = "Rsquared")
x11()
ggplot(lmProfileF, metric = "RMSE")
predictors(lmProfileF)
summary(lmProfileF$fit)
Call:
lm(formula = y ~ ., data = data_reg[, 1:15])
Residuals:
Min 1Q Median 3Q Max
-1066.4 -140.1 -31.9 225.6 747.4
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 58.93 138.45 0.426 0.671777
P2 13225.22 4766.69 2.775 0.007183 **
P3 -23832.86 6840.06 -3.484 0.000881 ***
P4 -628.29 994.45 -0.632 0.529703
P5 -325.30 689.54 -0.472 0.638651
P6 812.62 746.57 1.088 0.280346
P7 -361.92 7313.36 -0.049 0.960680
P8 11115.19 1689.62 6.579 9.03e-09 ***
P9 -6187.75 3317.13 -1.865 0.066572 .
P10 -3903.06 2245.37 -1.738 0.086827 .
P11 410.26 1599.03 0.257 0.798310
P12 -5737.05 1784.36 -3.215 0.002019 **
P13 5835.09 1723.72 3.385 0.001202 **
P14 489.22 372.89 1.312 0.194075
P16 10562.06 4536.83 2.328 0.022983 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 367.8 on 66 degrees of freedom
Multiple R-squared: 0.9285, Adjusted R-squared: 0.9133
F-statistic: 61.2 on 14 and 66 DF, p-value: < 2.2e-16
Call:
lm(formula = y ~ P2 + P3 + P8 + P9 + P10 + P12 + P13 + P16, data = data_reg[,
1:15])
Residuals:
Min 1Q Median 3Q Max
-1187.55 -154.16 -4.68 182.73 790.53
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.534 74.735 0.101 0.919982
P2 13924.065 2228.512 6.248 2.60e-08 ***
P3 -23457.400 3350.288 -7.002 1.10e-09 ***
P8 11498.955 1515.983 7.585 9.10e-11 ***
P9 -7134.183 2765.974 -2.579 0.011943 *
P10 -3683.515 1540.961 -2.390 0.019448 *
P12 -5495.556 1647.456 -3.336 0.001348 **
P13 5636.502 1176.176 4.792 8.61e-06 ***
P16 9838.592 2618.772 3.757 0.000346 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 358.4 on 72 degrees of freedom
Multiple R-squared: 0.9259, Adjusted R-squared: 0.9177
F-statistic: 112.5 on 8 and 72 DF, p-value: < 2.2e-16
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) | |
|---|---|---|---|---|---|---|
| <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | |
| 1 | 66 | 8928902 | NA | NA | NA | NA |
| 2 | 72 | 9250610 | -6 | -321708.4 | 0.3963301 | 0.8788324 |
Linear Regression 81 samples 14 predictors No pre-processing Resampling: Cross-Validated (10 fold) Summary of sample sizes: 73, 73, 73, 73, 72, 73, ... Resampling results: RMSE Rsquared MAE 827.2515 0.7248196 491.4463 Tuning parameter 'intercept' was held constant at a value of TRUE
Linear Regression 81 samples 8 predictor No pre-processing Resampling: Cross-Validated (10 fold) Summary of sample sizes: 73, 73, 73, 73, 72, 73, ... Resampling results: RMSE Rsquared MAE 682.6104 0.8103165 428.8649 Tuning parameter 'intercept' was held constant at a value of TRUE
Call:
lm(formula = y ~ ., data = tmp)
Residuals:
Min 1Q Median 3Q Max
-1192.32 -154.84 -5.32 180.18 799.24
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.561 76.038 0.099 0.921080
P3 -23994.671 6272.715 -3.825 0.000281 ***
P2 14249.446 4249.138 3.353 0.001291 **
P16 9733.817 3690.019 2.638 0.010272 *
P8 11418.814 1642.181 6.953 1.52e-09 ***
P9 -7203.081 3104.133 -2.320 0.023235 *
P7 453.251 6265.019 0.072 0.942533
P13 5565.085 1554.215 3.581 0.000628 ***
P12 -5535.509 1729.209 -3.201 0.002059 **
P10 -3726.724 1972.243 -1.890 0.062955 .
P11 137.776 1471.963 0.094 0.925694
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 363.5 on 70 degrees of freedom
Multiple R-squared: 0.9259, Adjusted R-squared: 0.9153
F-statistic: 87.5 on 10 and 70 DF, p-value: < 2.2e-16
#оценка важности предикторов в пакете Boruta
library(Boruta)
data_reg.mod <- as.data.frame(model.matrix(y ~ .,
data=data_reg[,2:15])[,-1])
data_reg.mod <- cbind(data_reg.mod, y=data_reg$y)
data_reg.Boruta <- Boruta(y ~ ., data = data_reg.mod,
doTrace = 2, ntree = 500)
getConfirmedFormula(data_reg.Boruta)
attStats(data_reg.Boruta)
x11()
plot(data_reg.Boruta, xlab = "Предикторы", xaxt = "n")
lz<-lapply(1:ncol(data_reg.Boruta$ImpHistory),function(i)
data_reg.Boruta$ImpHistory[is.finite(data_reg.Boruta$ImpHistory[,i]),i])
names(lz) <- colnames(data_reg.Boruta$ImpHistory)
Labels <- sort(sapply(lz,median))
axis(side = 1,las=2,labels = names(Labels),
at = 1:ncol(data_reg.Boruta$ImpHistory), cex.axis = 0.7)
data_reg.Boruta <- TentativeRoughFix(data_reg.Boruta)
data_reg.Boruta
#Функция attStats() выводит таблицу с Z-оценками и долей построенных
#моделей, в которых переменная была важнее самого важного "теневого"
#предиктора:
knitr::kable(attStats(data_reg.Boruta))
#Зеленые линии соответствуют подтвержденным признакам,
#красные - исключенным,а синие показывают минимальные,
#средние и максимальные важности "теневых"
#предикторов
x11()
plotImpHistory(data_reg.Boruta)

Для сокращения числа предикторов можно использовать также генетический алгоритм, но затраты времени на его реализацию дотаточно велики.
Код R реализующий генетический алгоритм:
library(openxlsx)
library(ggplot2)
library(car)
library(hexbin)
library(caret)
library(glmnet)
#ЗАГРУЗКА ИЗ EXSEL ПЕВИЧНЫХ ДАННЫХ
N=1 # номер листа с данными
x <-read.xlsx("D:/Machine learning/DATA/Region_Data4.xlsx", sheet = N)
#x
#ОСНОВНЫЕ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ РЕГИОНОВ РФ ЗА 2018 ГОД
xreg <-data.frame(P1=x$Pok_001,P2=x$Pok_002,P3=x$Pok_003,P4=x$Pok_004,
P5=x$Pok_005,P6=x$Pok_006,P7=x$Pok_007,P8=x$Pok_008,P9=x$Pok_009,P10=x$Pok_010,
P11=x$Pok_011,P12=x$Pok_012,P13=x$Pok_013,P14=x$Pok_014,P15=x$Pok_015,P16=x$Pok_016,
P17=x$Pok_017,P18=x$Pok_018)
#xreg
w=c(-17,-18)
x_reg =xreg[,w]
w=c(-1,-15)
x_pred =x_reg[,w]
y = xreg[,15]
#нормирующая функция---------------------------
norm <-function(x){
return ((x-min(x))/(max(x)-min(x)))
}
x_pred.nor <-as.data.frame(lapply(x_pred,norm))
data_reg <-cbind(y,x_pred.nor)
#Генетический алгоритм поиска набор предикторов модели
set.seed(10)
ctrl <- gafsControl(functions = rfGA, method = "cv",
verbose = FALSE, returnResamp = "final")
lmProfGafs <- gafs(data_reg[, 2:15], data_reg$y,
iters = 5, # 10 генераций
gafsControl = ctrl)
lmProfGafs
