УДК 517.18
РЕГРЕССИОННЫЙ АНАЛИЗ ДАННЫХ В СРЕДЕ WXMAXIMA
Л
UDC 517.18
REGRESSION DATA ANALYSIS IN WXMAXIMA ENVIRONMENT
А. С. Шульгина, В. П. Колебошина, Б. А. Акишин
Донской государственный технический университет, Ростов-на-Дону, Российская Федерация anneta.shul [email protected] [email protected] [email protected]
Исследуются возможности и целесообразность использования некоммерческой системы компьютерной математики Maxima при построении эконометрических моделей и решении задач множественного
регрессионного анализа. Отмечается наличие универсальных встроенных функций, позволяющих рассчитывать основные показатели моделей и реализующих оригинальные подходы в вопросах проверки значимости и адекватности. В то же время, открытость программного кода позволяет создавать собственные функции, работающие во взаимодействии с встроенными. В статье реализована классическая проверка существенности моделей по критерию Фишера.
Ключевые слова: система компьютерной математики, эконометрика, регрессия, метод наименьших квадратов, доверительный интервал, проверка статистических гипотез.
A.S. Shulgina, V.P. Koleboshina, BAkishin
Don State Technical University, Rostov-on-Don, Russian Federation anneta.shul [email protected] [email protected] [email protected]
The authors study the opportunities and appropriateness of using noncommercial system of computer mathematics Maxima at creation of econometric models and solving problems of the multivariate regression analysis. The article notes the existence of the universal built-in functions allowing to count the main indicators of models and realizing original approaches in significance and adequacy checking. At the same time, openness of a program code allows to create eigenfunctions which work in interaction with the built-in ones. For example, classical check of models importance according to Fischer criterion was realized in the article.
Keywords: system of computer mathematics, econometrics, regression, method of least squares, confidence interval, statistical hypothesis testing
В процессе построения содержательных и адекватных эконометрических моделей регрессионного типа возникают, как правило, проблемы отбора факторов при структурной идентификации и плохой обусловленности обрабатываемых матриц при параметрической идентификации [1]. Требуется многократная целенаправленная верификация модели и пересчет ее коэффициентов, что возможно только при компьютерной обработке данных. Системы компьютерной математики, в частности, программа свободного доступа Maxima, содержат ряд встроенных функций, реализующих процедуры регрессионного анализа [3], однако их не всегда бывает достаточно, и требуется дополнительное программирование.
В настоящей работе реализован комбинированный метод расчета дополнительных параметров и статистических характеристик эконометрических моделей в программе Maxima, при
1
http://mid-journal.ru
L4QQ/J
котором их программирование сочетается с использованием встроенных проблемно ориентированных пакетов.
При построении моделей линейной регрессии в Maxima обычно используют функции из пакета stats:
• simple_linear_regression (X, option) — для парной линейной регрессии,
• linear_regression (X, option) — для множественной линейной регрессии,
• items_inference — выдает список всех рассчитываемых характеристик,
• take_inference — выводит значения конкретных характеристик,
где X — матрица исходных данных, последний столбец которой представляет собой наблюдаемые значения зависимой переменной y, а единственной необязательной опцией является надежность статистических выводов (по умолчанию равная 0,95).
Функции пакета stats возвращают данные типа inference_result. Объекты этого типа, применительно к упомянутым функциям, содержат оценки коэффициентов уравнений регрессии, а также большое количество других рассчитанных параметров, необходимых для анализа статистической значимости полученных моделей и проверки гипотез. Часть этих параметров выводится на экран сразу (по умолчанию), а доступ к остальным обеспечивается при помощи функций items_inference и take_inference.
Рассмотрим два примера построения и анализа регрессионных моделей. Исходные данные для примеров взяты из пособия [1].
Пример 1. Необходимо оценить линейную зависимость средней заработной платы от месячного прожиточного минимума по данным из n = 12 регионов РФ. Исходные данные приводятся в условных денежных единицах и представлены вложенным списком: первые элементы — значения X , вторые — значения у.
I (9Ы2) load("stats")$
Исходные данные примера 1
С
I (%i3) п:12 $
[
(%И) А: [[78,133], [82,148], [87,134], [79,154], [89,162], [106,195], [67,139], [88,158], [73,152], [87,162], [76,159], [115,173]] $
(%i5) Ml: simple_linear_regression(A);
SIMPLE LINEAR REGRESSION model = 0.9204 X + 76.98 correlation = 0.721 v_estimation = 157.5 (%05) b_conf Jnt = [0.2972,1.544 ] hypotheses = HO: b = 0,H1: b * О statistic = 3.291 distribution = [ student_t, 10 ] p_value = 0.008142
Рис.1. Результаты моделирования линейной зависимости по данным примера 1
По умолчанию функция simple_linear_regression вывела на экран следующую информацию:
1. уравнение регрессии у = 76,98 + 0,9204 • х;
2. коэффициент линейной корреляции = 0,721 — достаточно высокий;
3. оценка остаточной дисперсии = 157,5 ;
4. доверительный интервал для коэффициента Ь ;
5. проверяется нулевая Н0: Ь = 0 и альтернативная Н1: Ь Ф 0 гипотезы относительно значимости коэффициента Ь ;
6. 81ай8йс= 3,291 значение статистики Стьюдента при 10 степенях свободы;
7. p_value — значение плотности вероятности распределения Стьюдента для проверки гипотезы о
статистической значимости коэффициента Ь . В рассматриваемом случае ру = 0,008142, что значительно меньше уровня значимости а = 0,05, поэтому нулевая гипотеза Н0 отвергается и коэффициент Ь можно считать статистически значимым. Отобразим результаты моделирования на графике.
Рис.2. Графическое отображение результатов моделирования
Функция items_inference выдает полный перечень всех рассчитанных функцией simple_linear_regression параметров. Кроме отображенных по умолчанию, здесь присутствуют: средние значения, дисперсии, коэффициент детерминации, различные доверительные интервалы и остатки.
Рассчитываемые параметры
(9617 ltemsJnFerence(M 1);
(%o 7) [ model, means, var I anees, corre la 11 on, adc, a _est I mat ton, a_confJnt, b_est iniatl on, b_conf_int, hypotheses, statistic, distr ¡but ion, pjralue, ^estimation, vjcortfJnt, cond_mean_conf J nt, ne w_pred _cont Jnt,res i dual s J
Рис.3. Перечень рассчитываемых параметров линейного уравнения регрессии
Используя рассчитанный коэффициент детерминации adc, проверим адекватность модели по критерию Фишера и сделаем интервальный прогноз:
Б-статистику вычислим по известной формуле через adc, а критическое значение Ркр- с помощью функции quantile_f (квантиль распределения Фишера) из пакета distrib.
I
V
Г
Коэффициент детерминации
(9618) 1^2: (:аке_1 пГегепсе('ас]с, М1); (%о8) 0.4719
Р - статистика
Г (9619) Р: К2/(1-Р*2)*(п-2); (%о9) 8.905
V
Р критическое
(%110) 1оас1 (сИ5ЬЧЬ)$
Ркр: чиагЛПе.^О.ЭЗ, 1, п-2); (96о11) 4.965
Рис.4. Результаты проверки критерия Фишера
Поскольку F > Н<р , то регрессию можно считать значимой в смысле критерия Фишера. Используем полученную модель для прогноза: увеличим средний прожиточный минимум на 10%, подставим это значение в уравнение регрессии (точечный прогноз средней заработной платы) и выведем доверительный интервал прогноза.
Рис.5. Доверительный прогноз на линейной модели
Таким образом, полученная регрессионная математическая модель показывает: если увеличить средний месячный прожиточный минимум до 94,14 условных денежных единиц, то средняя заработная плата будет находиться в 95% доверительном интервале (134; 193,2) (его рассчитывает сама функция simple_linear_regression).
I
http://mid-journal.ru
L4QQ/J
Пример 2. Построить математическую модель для расчета объемов реализации одного из продуктов фирмы (зависимая переменная y). В качестве исходных объясняющих факторов выбраны: x — время, x2 — расходы на рекламу, x3 — цена товара, x4 — средняя цена у конкурентов, x5 — индекс потребительских расходов.
Имеющиеся статистические данные подготовлены в текстовом файле. Подключаем пакет numericalio и загружаем данные с помощью функции read_matrix [2]: f (%il6) load(numericalio)S N: 16$
data: read^matriJi("F:\\example_2.txt");
(96ol8)
V XI ХЭ Х4 Х5
136 1 4 15 17 1ЯЯ
137 2 4.Я 14.8 17.3 98.4
14S 3 3.8 15.2 16.8 181.2
191 4 8.7 15.5 16.2 183.5
274 3 Я.2 15-5 16 Ю4.1
37Я в Q.7 15 1Я 187
432 7 14.7 18.1 28.2 187.4
445 8 18.7 1Э 15.8 188.5
367 9 19-8 15-6 16-2 Ю8,Э
367 Ю 10.6 16.9 16.8 189.2
321 11 в. б 16.3 17 118.1
387 12 6.5 16.1 18.3 118.7
ЭЭ1 13 12.6 15.4 15.4 1Ю.Э
345 14 Б.5 15.7 1С-2 111.8
364 15 5.8 16 17.7 112.3
384 16 3.7 15.1 16.2 112.9
Рис.6. Импорт исходных данных для примера 2 Анализ матрицы парных корреляций для примера 2 показывает, что в первом приближении можно остановиться на линейной регрессии, зависящей от двух факторов Х2 и x5 . [ (%il9) load(descriptive)$
[ (%i20) X: submatrix (l,data) $
|Матрица парных корреляций
¡7
(%i21) cor(X), numer;
(%o21)
1.0 0.678 0.6459 0.2329 0.2263 0.816
0.678 1.0 0.1065 0.1737 -0.051 0.9602
0.6459 0.1065 1.0 - 0.003354 0.204 0.2734
0.2329 0.1737 - 0.003354 1.0 0.6978 0.2354
0.2263 -0.051 0.204 0.6978 1.0 0.03078
0.816 0.9602 0.2734 0.2354 0.03078 1.0
Рис.7. Рассчитанная матрица парных корреляций для примера 2
Выделяем список упомянутых переменных и запускаем функцию linear_regression. Объект inference_result, выдаваемый функцией linear_regression по умолчанию включает:
1. оценки коэффициентов Ь_е8Х1таХюп — уравнение имеет вид: у = -1471 + 9,568• х2 +15,75 • х5
2. X - статистики Стьюдента для проверки значимости коэффициентов,
3. значения b_p_values для всех коэффициетов. Они значительно меньше уровня значимости а = 0,05 , поэтому все коэффициенты можно считать статистической значимыми,
4. остаточная дисперсия — случайная величина, имеющая распределение Хи-квадрат и ее доверительный интервал,
5. коэффициент детерминации adc = 0,8374
(%i22) X2X5Y:makelist([data[k,3], data[k,6], data[k,l]], k, 2, N+l) $ (%i23) res: linear_regression(X2X5Y);
LINEAR REGRESSION MODEL b_estimation = [-1.471 103,9.568,15.75 ] b_statistics = [ - 5.664,4.223,6.386 ] b_p_values= [7.746 10"5,9.965 10 "4,2.396 10"5] (%023) b_distribution = [studentj, 13 ]
^estimation = 1.72 103 v_conf_int = [904.0,4.464 103] v_distribution = [chi2,13 ] adc = 0.8374
Рис.8. Результаты моделирования множественной регрессии
Дополнительно рассчитываются также следующие характеристики: ковариационная матрица, доверительные интервалы для всех коэффициентов, остатки, а также значения информационных критериев Байеса (Ьгс) и Акаике ^к), используемых для сравнения различных моделей.
Список есех параметров
7 (%\2А) itemsJnference(res); (%о24) [b_estimationfb_covariancesfb_conf_int,b_statistics,b_p_values, b_d i str i bu t i on, v_est i mat i on, v_conf_i nt, v_d i str i but i on, residuals, adc,aic,bic]
7 (%i25) take_inference('bic, res); ' (%o25) 124.2
Рис.9. Расчет критерия Байеса для модели множественной регрессии
Программа Maxima включает также мощный пакет lsquares для нелинейного оценивания параметров различных моделей с использованием метода наименьших квадратов [3]. Основная функция пакета lsquares_estimates (D, x, e, a), где D — матрица данных, x — имена переменных, e — задаваемое нелинейное уравнение, a — имена параметров.
Вывод. На примерах программной реализации классических критериев Фишера и Байеса показано, что открытость программного кода системы Maxima позволяет создавать собственные функции, работающие во взаимодействии с встроенными.
Библиографический список
1. Акишин, Б. А. Экономико-математические расчеты на персональном компьютере. Ч. 2. Эконометрические модели. Учебное пособие / Б. А. Акишин, А. В. Галабурдин. — Ростов-на-Дону : РАС ЮРГУЭС, 2008. — 60 с.
2. Решение математических задач с помощью пакета Maxima : Учеб. пособие / Б. А. Акишин [и др.]. — Ростов-на-Дону : Издательский центр ДГТУ, 2015. — 100 с.
3. Maxima 5.38.1 Manul / Документация по текущей версии пакета Maxima. — Режим доступа : http://maxima.sourceforge.net/docs/manual/en/maxima.html (Дата обращения 05.05.2016).