Главная Учебники - Разные Лекции (разные) - часть 33
СОДЕРЖАНИЕ
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ ВВЕДЕНИЕ 1. ПРОГРАММИРОВАНИЕ В STATISTICA 2. ПРЕДПОСЫЛКИ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ И ИХ РЕАЛИЗАЦИЯ В STATISTICA 2.1. Модель множественной линейной регрессии 2.2. Требования к остаткам 2.3. Проверка гипотезы о нормальности остатков в модуле MULTIPLEREGRESSIONSTATISTICA 3. СОЗДАНИЕ МАКРОСА ДЛЯ ПРОВЕРКИ ГИПОТЕЗЫ О НОРМАЛЬНОСТИ ОСТАТКОВ 3.1. Описание макроса 3.2. Проверка гипотезы о нормальности остатков в модели вторичного рынка жилья в г. Минске ЗАКЛЮЧЕНИЕ ПРИЛОЖЕНИЕ А. Листинг программы ПРИЛОЖЕНИЕ Б. Листинг программы ПРИЛОЖЕНИЕ В. Глобальные переменные ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ
SVB - StatisticaVisualBasic. МНК - метод наименьших квадратов. ВВЕДЕНИЕ
Множественная линейная регрессия выражает линейные связи между переменными в уравнении при нормальном распределении остатков. Если эти предположения нарушены, заключение не может быть точным, т.е. модель не может быть использована для принятия решений и осуществления прогнозов. В связи с этим при построении модели множественной линейной регрессии особое внимание необходимо уделять проверке гипотезы о нормальном распределении остатков. Создание макросов - полезная и зачастую необходимая процедура, которая присутствует во многих программных продуктах, в том числе и в программе STATISTICA.Основное ее назначение - автоматизация обработки данных и соответственно значительная экономия времени. В ходе выполнения множественного регрессионного анализа в модуле MultipleRegression пакета STATISTICA исследование остатков на нормальность можно осуществить лишь графическими методами, что приводит к необходимости обращаться к другому встроенному модулю (DistributionFitting), что требует значительных затрат времени. Для решения данной проблемы был написан макрос на языке SVB. Предметом исследования данной работы является создание макроса для проверки гипотезы о нормальности остатков множественной регрессии. Целью данной курсовой работы является создание макроса на языке SVB для проверки гипотезы о нормальности остатков множественной регрессии. Для достижения поставленной цели необходимо решить следующие задачи: - изучить возможности программирования на языке SVB в пакете STATISTICA; - рассмотреть модель множественной линейной регрессии и предпосылки МНК; - описать процесс проверки гипотезы о нормальности остатков в модуле MULTIPLEREGRESSIONSTATISTICA; - создать макрос для проверки гипотезы о нормальности остатков; - осуществить проверку гипотезы о нормальности остатков в модели вторичного рынка жилья в г. Минске. В курсовой работе использованы анализ и синтез, аналитический метод, графический метод, методы моделирования и проектирования. Работа представлена на 48 страницах и состоит из введения, трех разделов (пяти подразделов), заключения, списка использованных источников, приложений. В первом разделе исследуются возможности программирования на языке SVB в пакете STATISTICA. Во втором разделе раскрываются предпосылки МНК и их реализация в STATISTICA. Третий раздел носит исследовательский характер. В нем описывается создание и применение макроса для проверки гипотезы о нормальности остатков. В данной курсовой работе была использована литература отечественных и зарубежных авторов. Большое внимание уделялось учебным пособиям таких авторов, как И.И. Елисеева, О.Н. Салманов, Кристофер Доугерти и др. При написании курсовой работы также были использованы данные Интернет-источников. 1. ПРОГРАММИРОВАНИЕ В STATISTICA
STATISTICA Visual Basic (SVB) - это язык программирования, интегрированный в программу STATISTICA. Он предоставляет намного больше возможностей, чем просто "вспомогательный язык программирования". SVB использует огромные преимущества объектно-ориентированной структуры системы STATISTICA и позволяет получить доступ практически ко всем функциональным возможностям пакета программными средствами. [советник по макросам-СПМ] Очень часто при статистической обработке однотипных наборов данных приходится периодически и многократно выполнять одну и ту же серию операций. Сложные процедуры анализа и графический вывод результатов можно записать как макрос SVB для дальнейшего использования и редактирования. Макросы представляют собой самостоятельные блоки, которые легко встраиваются в другие приложения. [советник по макросам-СПМ] Существует несколько методов создания макросов SVB: 1. Автоматическая запись макроса. Каждый раз при выполнении процедур из меню Statistics
или Graphs
,
SVBзаписывает в фоновом режиме программный код, соответствующий всем спецификациям процедур и параметрам вывода. Этот код может впоследствии многократно выполняться и редактироваться. В процессе редактирования можно изменять настройки процедур анализа, используемые переменные и их спецификации, файлы данных, добавлять элементы пользовательского интерфейса и т.д. 2. Макросы могут быть написаны с нуля с помощью профессиональной среды разработчика SVB (рис.1). Данная среда представляет собой удобный редактор программного кода с мощным отладчиком. Кроме того, имеется наглядный мастер создания диалогов, а также множество других удобных функций для эффективного написания макросов. Рис. 1. Диалог Macros 3. SVBмакросы могут создаваться на основе уже готовых программ на VISUALBASIC, написанных в других приложениях (например, MICROSOFTEXCEL), путем добавления встроенных процедур и функций STATISTICA.[scaner 497-498] В STATISTICAпредусмотрено три категории макросов, которые могут быть автоматически написаны. Для активации этих макросов в меню Tools
на панели инструментов выделите команду Macro
(рис.2).[scaner c. 498] Рис. 2. Редактор макросов VISUALBASIC 1. Analysis
/
Graph
Macro
(макрос анализа/графика) - макросы, создаваемые для конкретных типов анализа из меню Statistics
и Graphs
.
В макрос записываются все настройки, параметры, присущие данному типу анализа, а также переменные, над которыми он проводится. После выбора модуля или процедуры из указанных меню в фоновом режиме осуществляется запись всех выполняемых действий: выбор переменных, изменение параметров и др. В любой момент можно перенести записанную информацию (код макроса VISUALBASIC)
в окно редактора макросов VISUALBASIC(см. рис. 1).
2. Log
of
Analyses
(
Master
Macro
)
(мастер-макрос (журнал)) - макросы, содержащие любую последовательность модулей из меню Statistics
или Graphs
.
В мастер-макрос записывается последовательность проведенных анализов с указанными для них параметрами и переменными от момента включения записи макроса до ее отключения. Такая запись объединяет различные модули, выбранные в меню Statistics
или Graphs
.
В отличие от простого Analysis
Macro
,
запись Master
Macros
может быть приостановлена и возобновлена. Запись мастера-макроса начинается при нажатии кнопки записи и приостанавливается нажатием кнопки останова. Все действия, совершенные между этими событиями, записываются в соответствующей последовательности: выбор файлов данных, операции преобразования переменных, выбор элементов и др. 3. Key
board
Macro
(клавиатурный макрос) - макросы, содержащие последовательности нажатия клавиш во время проведения анализа. При остановке записи в окне редактора SVBоткроется простая программа, содержащая одну команду SendKeys
с символами, которые соответствуют клавишам, нажатым при проведении анализа. Данный тип макроса довольно прост - он не записывает контекст, в котором происходило нажатие клавиш (т.е. команды, которые при этом выбирались), но данное свойство может быть полезно для решения определенных задач. Все три категории макросов имеют одинаковый синтаксис и могут быть впоследствии модифицированы. [scanerc.499] Среда разработки STATISTICA Visual Basic (см. рис. 2) содержит гибкий редактор программ и мощные средства отладки. Отладка макросов.
Среда разработки SVB позволяет устанавливать в программе точки останова, если необходимо приостановить работу макроса на какой-либо строке и проверить значение переменных в этой точке программы. Предусмотрена возможность выполнения макроса по шагам. Диспетчер объектов.
Объекты в SVB организованы в виде иерархического дерева объектов, и этот список можно найти в окне Object Browser - Просмотр объектов (рис. 3). Рис.3. Окно Object Browser - Просмотр объектов. Мастер функций.
Существует множество функций STATISTICA и как правило, они доступны только в SVB. Это расширение языка программирования Visual Basic, например, вероятностные, матричные функции, простые окна диалогов пользователя и т.д. Редактор диалогов пользователя.
Среда программирования SVB содержит все необходимые средства для создания пользовательского интерфейса. Мощные средства User-Dialog Editor - Редактора диалогов позволяют проектировать диалоговые окна, используя мышь. В отличие от Microsoft Visual Basic, созданные пользователем диалоги хранятся вместе с программным кодом как данные типа UserDialog. Такой метод создания диалоговых окон позволяет реализовывать сложные элементы интерфейса, которые легко редактируются в текстовом режиме; кроме того, определяя диалог, как переменную, к нему легко можно обращаться в любом месте программы. 2. ПРЕДПОСЫЛКИ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ И ИХ РЕАЛИЗАЦИЯ В
STATISTICA
2.1 Модель множественной линейной регрессии
В экономической практике часто имеет место сложная, многопричинная статистическая связь между признаками. Множественная регрессия представляет собой регрессию результативного признака с двумя и большим числом факторов, т.е. модель вида: Переменная Задача оценки статистической взаимосвязи переменных Для оценивания параметров Практически в каждом отдельном случае величина у
складывается из двух слагаемых: где Общий смысл оценивания по методу наименьших квадратов заключается в минимизации суммы квадратов отклонений наблюдаемых значений зависимой переменной ( где S- суммы квадратов отклонений Построение уравнения множественной регрессии начинается с решения вопроса о спецификации модели. Она включает в себя два круга вопросов: отбор факторов и выбор вида уравнения регрессии. [Елисеева-91] Факторы, включаемые во множественную регрессию, должны отвечать следующим требованиям. 1. Они должны быть количественно измеримы. [Елисеева-92] Для исследования влияния качественных признаков в модель можно вводить бинарные (фиктивные) переменные
, которые, как правило, принимают значение 1, если данный качественный признак присутствует в наблюдении, и значение 0 при его отсутствии.[Магнус 100] 2. Факторы не должны быть интеркоррелированы и тем более находиться в точной функциональной связи. Если между факторами существует высокая корреляция, то нельзя определить их изолированное влияние на результативный показатель и параметры уравнения регрессии оказываются неинтерпретируемыми. [Елисеева-92] Коэффициенты интеркорреляции (т. е. корреляции между объясняющими переменными) позволяют исключать из модели дублирующие факторы. Считается, что две переменных явно коллинеарны, т. е. находятся между собой в линейной зависимости, если По величине парных коэффициентов корреляции обнаруживается лишь явная коллинеарность факторов. Наибольшие трудности в использовании аппарата множественной регрессии возникают при наличии мультиколлинеарности факторов
, когда более чем два фактора связаны между собой линейной зависимостью, т.е. имеет место совокупное воздействие факторов друг на друга. Наличие мультиколлинеарности факторов может означать, что некоторые факторы будут всегда действовать в унисон. В результате вариация в исходных данных перестает быть полностью независимой, и нельзя оценить воздействие каждого фактора в отдельности. Чем сильнее мультиколлинеарность факторов, тем менее надежна оценка распределения суммы объясненной вариации по отдельным факторам с помощью метода наименьших квадратов (МНК). [Елисеева-94] Выделим некоторые наиболее характерные признаки мультиколлинеарности. 1. Небольшое изменение исходных данных (например, добавление новых наблюдений) приводит к существенному изменению оценок коэффициентов модели. 2. Оценки имеют большие стандартные ошибки, малую значимость, в то время как модель в целом является значимой (высокое значение коэффициента детерминации R
2
и соответствующей F-статистики). 3. Оценки коэффициентов имеют неправильные с точки зрения теории знаки или неоправданно большие значения.[Магнус 94] Подходы к отбору факторов на основе показателей корреляции могут быть разные. Наиболее широкое применение получили следующие методы построения уравнения множественной регрессии:
• метод исключения; • метод включения; • шаговый регрессионный анализ. Каждый из этих методов по-своему решает проблему отбора факторов, давая в целом близкие результаты - отсев факторов из полного его набора (метод исключения), дополнительное введение фактора (метод включения), исключение ранее введенного фактора (шаговый регрессионный анализ). Как и в парной зависимости, возможны разные виды уравнений множественной регрессии: линейные и нелинейные. [Елисеева-100] Линейные модели регрессии могут быть описаны как линейные в двух отношениях: как линейные по переменным и как линейные по параметрам. Для линейного регрессионного анализа требуется линейность только по параметрам (
В линейной множественной регрессии параметры при х называются коэффициентами регрессии (
Оценка значимости коэффициентов чистой регрессии может быть проведена по t-критерию Стьюдента. В этом случае, как и в парной регрессии, для каждого фактора используется формула: где Для уравнения множественной регрессии средняя квадратическая ошибка коэффициента регрессии где Критический уровень t при любом уровне значимости зависит от числа степеней свободы, которое равно Практическая значимость уравнения множественной регрессии оценивается с помощью показателя множественной корреляции ( Показатель множественной корреляции может быть найден как индекс множественной корреляции: где Границы изменения индекса множественной корреляции: от 0 до 1. Чем ближе его значение к 1, тем теснее связь результативного признака со всем набором исследуемых факторов. [Елисеева-113] Коэффициент детерминации Значимость уравнения множественной регрессии в целом оценивается с помощью F-критерия Фишера: где Смысл проверяемой гипотезы заключается в том, что все коэффициенты линейной регрессии, за исключением свободного параметра, равны нулю (случай отсутствия линейной функциональной связи). Величина F имеет распределение Фишера с степенями свободы Для проверки нулевой гипотезы при заданном уровне значимости по таблицам находится критическое значение Fкрит
, и нулевая гипотеза отвергается, если Распределение Фишера может быть использовано не только для проверки гипотезы об одновременном равенстве нулю всех коэффициентов линейной регрессии, но и гипотезы о равенстве нулю части этих коэффициентов. Это особенно важно при развитии линейной регрессионной модели, так как позволяет оценить обоснованность исключения отдельных переменных или их групп из числа объясняющих переменных или, наоборот, включения их в это число. [Салманов 48]. 2.2 Требования к остаткам
При оценке параметров уравнения регрессии применяется метод наименьших квадратов (МНК). При этом делаются определенные предпосылки относительно случайной составляющей случайная составляющая Проверка статистической достоверности коэффициентов регрессии и корреляции осуществляется с помощью t-критерия Стьюдента, F-критерия Фишера и Z-преобразования (для коэффициентов корреляции). При использовании этих критериев делаются предположения относительно поведения остатков Оценки параметров регрессии должны быть несмещенными, состоятельными и эффективными. Условия, необходимые для получения несмещенных, состоятельных и эффективных оценок, представляют собой предпосылки МНК
, соблюдение которых желательно для получения достоверных результатов регрессии. Исследования остатков 1) случайный характер остатков; 2) нулевая средняя величина остатков, не зависящая от 3) гомоскедастичность
- дисперсия каждого отклонения 4) отсутствие автокорреляции остатков. Значения остатков 5) остатки подчиняются нормальному распределению. Если распределение случайных остатков Прежде всего проверяется случайный xapактер остатков С этой целью стоится график зависимости остатков Рис.3.2. Зависимость случайных остатков Если на графике получена горизонтальная полоса, то остатки Возможны следующие случаи: если а) остатки б) остатки в) остатки В случаях а), б), в) необходимо либо применять другую функцию, либо вводить дополнительную информацию и заново строить уравнение регрессии до тех пор, пока остатки Вторая предпосылка МНК относительно нулевой средней величины остатков означает, что Вместе с тем несмещенность оценок коэффициентов регрессии, полученных МНК, зависит от независимости случайных остатков и величин х,
что также исследуется в рамках соблюдения второй предпосылки МНК. С этой целью строится график зависимости случайных остатков Рис. 3.4. Зависимость случайных остатков от величины фактора Если остатки на графике расположены в виде горизонтальной полосы (рис. 3.4), то они независимы от значений Предпосылка о нормальном распределении остатков позволяет проводить проверку параметров регрессии и корреляции с помощью критериев t, F.[1] Всегда, прежде чем сделать окончательные выводы, стоит рассмотреть распределения представляющих интерес переменных. Можно построить гистограммы или нормальные вероятностные графики остатков для визуального анализа их распределения.[электрон-уч] В соответствии с третьей предпосылкой МНК требуется, чтобы дисперсия остатков была гомоскедастичной.
Это значит, что для каждого значения фактора Рис. 3.5. Пример гетероскедастичности: дисперсия остатков растет по мере увеличения х;
Используя трехмерное изображение, получим следующие графики, иллюстрирующие гомо- и гетероскедастичность (рис. 3.6, 3.7). Рис. 3.6. Гомоскедастичность остатков Рис. 3.7. Гетероскедастичность остатков Рис. 3.6 показывает, что для каждого значения Наличие гомоскедастичности или гетероскедастичности можно видеть и по рассмотренному выше графику зависимости остатков Рис. 3.8. Гетероскедастичность: большая дисперсия При построении рефессионных моделей чрезвычайно важно соблюдение четвертой предпосылки МНК - отсутствие автокорреляции остатков, т. е. значения остатков Одним из основных предполагаемых свойств отклонений На практике в качестве теста используют тесно связанную с коэффициентом автокорреляции Нулевая гипотеза состоит в отсутствии автокорреляции. Статистику Дарбина-Уотсона можно выразить через коэффициент автокорреляции: Содержательный смысл статистики Дарбина-Уотсона заключается в следующем: если между Если бы распределение статистики DW
было известно, то для проверки гипотезы Таблица 6.3. Значение статистики DW Наличие зоны неопределенности, представляет определенные трудности при использовании теста Дарбина-Уотсона. [3] Отсутствие автокорреляции остаточных величин обеспечивает состоятельность и эффективность оценок коэффициентов регрессии. При несоблюдении основных предпосылок МНК приходится корректировать модель, изменяя ее спецификацию, добавлять (исключать) некоторые факторы, преобразовывать исходные данные для того, чтобы получить оценки коэффициентов регрессии, которые обладают свойством несмещенности, имеют меньшее значение дисперсии остатков и обеспечивают в связи с этим более эффективную статистическую проверку значимости параметров регрессии. [1] 2.3 Проверка гипотезы о нормальности остатков в модуле
Multiple
Regression
Statistica
STATISTICA является интегрированной системой комплексного статистического анализа и обработки данных в среде Windows. Все методы обработки в системе разбиты на несколько групп - модулей - в соответствии с основными разделами статистического анализа. Модуль Multiple Regression
-Множественная регрессия включает в себя набор средств множественной линейной и фиксированной нелинейной (в частности, полиномиальной, экспоненциальной, логарифмической и др.) регрессии, включая пошаговые, иерархические и другие методы. Система STATISTICA позволяет вычислить всесторонний набор статистик и расширенной диагностики, включая полную регрессионную таблицу, частные и частичные корреляции и ковариации для регрессионных весов, статистику Дарбина-Уотсона и многие другие. Анализ остатков и выбросов может быть проведен при помощи широкого набора графиков. [Салманов, с. 245-246] Модуль Multiple
Regression
запускается из меню Statistics
. Нажмите кнопку Variable
на Multiple
Linear
Regression
-
Quick
tab
(Множественная линейная регрессия - Быстрая вкладка) (рис. 1) и выберите зависимую переменную (Dependent
variable
) и несколько независимых переменных (Independent
variable
) и затем нажмите кнопку ОК
. Появится Multiple
Regression
Results
- диалог результатов регрессионного анализа (рис. 2). [Салманов, с. 249] Рис. 1. Стартовая панель модуля MultipleRegression Рис. 2. Окно результатов регрессионного анализа Окно результатов анализа (Multiple
Regression
Results
) (рис. 2) имеет следующую структуру: верх окна - информационный. Он состоит из двух частей: в первой части содержится основная информация о результатах оценивания, во второй высвечиваются значимые регрессионные коэффициенты (
significant
beta
'
s
are
highlighted
). Внизу окна расположены три вкладки: Quick
-быстрый, Advanced
-продвинутый и Residuals
/
assumptions
/
prediction
,
на которыхнаходятся функциональные кнопки, позволяющие всесторонне просмотреть результаты анализа.[боровиков 136] Критерий для определения уровня статистической значимости может быть изменен в поле Alpha
(значение по умолчанию 0,05) .[Салманов, с. 254] Рассмотрим информационную часть окна. В ней содержатся краткие сведения о результатах анализа, а именно: • Dependent
-имя зависимой переменной • No
.
of
с
ases
- число случаев, по которым построена регрессия • Multiple
R
- коэффициент множественной корреляции •R
2
- коэффициент детерминации (квадрат коэффициента множественной корреляции) • adjusted
R
2
- скорректированный коэффициент детерминации • Standard error of estimate
- стандартнаяошибкаоценки • Intercept
- оценка свободного члена регрессии, значение коэффициента В0
в уравнении регрессии. • Std
.
Error
- стандартная ошибка оценки свободного члена, • t
(
df
)
and
p
-
value
- значение t-критерия и уровень р. t-критерий используется для проверки гипотезы о равенстве 0 свободного члена регрессии. • F
- значения F-критерия. • df
- число степеней свободы F-критерия. • р
- уровень значимости. [боровиков 136-138] Нажмите на Summary
:
Regression
results
на вкладке Quick
tab
, чтобы отобразить электронную таблицу с бета-коэффициентами (рис. 3). Рис. 3. Таблица коэффициентов уравнения регрессии и оценок их достоверности Эта электронная таблица показывает стандартизированные бета-коэффициенты регрессии (Beta
) и необработанные коэффициенты регрессии (В
). Величина этих коэффициентов позволяет сравнивать относительный вклад каждой независимой переменной в предсказании зависимой переменной. Приводится также t
-
статистика и соответствующее значение вероятности (р
) для проверки гипотезы о достоверности этих коэффициентов. [Салманов, с. 254-255] После того как доказана адекватность модели, полученные результаты можно уверенно использовать для дальнейших действий. Анализ адекватности основывается на анализе остатков. [боровиков 139] Для анализа остатков на вкладке Multiple
Regression
Results
-
Residuals
/
assumptions
/
prediction
tab
нажмите кнопку диалога Residual
Analysis
(рис. 4). [Салманов, с. 256] Здесь имеется возможность рассчитать статистику Дарбина-Уотсона, удаленные остатки, доверительные интервалы для предсказанных значений и многие другие статистики. Широкие возможности анализа остатков и выбросов включают многочисленные типы графиков, диаграмм рассеяния, гистограмм, графики на нормальной и полунормальной вероятностной бумаге и др.[exponenta.ru] Рис. 4. Окно анализа остатков Однако можно также применять все аналитические средства STATISTICA, чтобы далее исследовать остатки, создав автономную входную электронную таблицу остатков. [Салманов, с. 261] 3. СОЗДАНИЕ МАКРОСА ДЛЯ ПРОВЕРКИ ГИПОТЕЗЫ О НОРМАЛЬНОСТИ ОСТАТКОВ
3.1 Описание макроса
При построении модели множественной линейной регрессии особое внимание необходимо уделять проверке гипотезы о нормальном распределении остатков. Это связано с тем, что в условиях нормального распределения остатков оценки параметров модели, построенные методом наименьших квадратов, являются оптимальными. Если распределение отличается от нормального, то свойство оптимальности может быть утрачено. Например, в данных могут быть резко выделяющиеся наблюдения (выбросы), а метод наименьших квадратов чувствителен к выбросам. В данной курсовой работе осуществлялось эконометрическое моделирование вторичного рынка жилья в г. Минске с использованием статистического пакета Statistica 6.0., обладающего широкими возможностями для построения регрессионных моделей. Пакет Statistica 6.0. содержит встроенный язык программирования VBA, позволяющий создавать дополнительные модули для статистического анализа. В ходе выполнения множественного регрессионного анализа в модуле Multiple
Regression
исследование остатков на нормальность можно осуществить лишь графическими методами с использованием нормальных графиков вероятности, доступных из диалога Residual
Analysis
. Однако на основании графической информации можно сделать лишь предположение о виде распределения остатков. Для проверки остатков на соответствие их нормальному распределению необходимо создать автономную входную электронную таблицу остатков, а затем вызвать модуль Distribution
Fitting
(Подбор распределения). Нажав кнопку Graph
, мы получим результаты применения критерия хи-квадрат, а также гистограмму с проведенной на ней предполагаемой нормальной кривой, на основании которых можно сделать вывод о виде распределения остатков. Таким образом, при осуществлении множественного регрессионного анализа в пакете Statistica 6.0. необходимо использовать 2 отдельных модуля (Multiple
Regression
и Distribution
Fitting
), создавая при этом дополнительную входную электронную таблицу остатков, что требует значительных затрат времени. Для решения всех вышеперечисленных проблем на языке VBA было написано 2 модуля. Первый модуль (CREATE_MACROS
) создает пользовательскую панель инструментов (Приложение Б), а второй (regres-normal)
- автоматизирует процесс проверки гипотезы о нормальности остатков регрессии (Приложение А). После запуска программы CREATE_MACROS
, новая панель инструментов CUSTOM
будет добавлена к существующей инсталляционной версии STATISTICA
. Созданная панель инструментов состоит из 1 главного элемента - кнопки «Нормальность остатков».
Чтобы удалить новый элемент панели инструментов, выберите Настройка (
Customize
)
из менюСервис
(Tools
) для отображения диалога Настройка
(Customize
)
. На вкладке Панели инструментов (
Toolbars
tab
)
, подсветите новый элемент и Удалите
(Delete
) его (рис. 1.1). Рис. 1.1. Удаление пользовательской панели инструментов Для запуска модуля regres-normal
необходимо нажать кнопку “Нормальность остатков”
на панели инструментов (рис. 1), после чего появится диалог Multiple
Regression
.
Residual
Analysis
(рис. 2). Критерий для определения уровня статистической значимости может быть изменен в поле Alpha
(значение по умолчанию 0,05). При нажатии кнопки Variables
отобразится диалог Select
dependent
and
independent
variable
lists
(рис. 3) для выбора зависимой и списка независимых переменных. После нажатия кнопки OK
на экране появятся результаты выполнения программы (рис.4). Рис. 1. Кнопка “Нормальностьостатков” для запуска модуля Рис. 2. Стартовая панель модуля Рис. 3. Окно выбора переменных для анализа Рис.4. Результаты выполнения программы Программа вычисляет следующий набор статистик: 1. Таблицы результатов оценивания регрессионной модели. Они содержат значения коэффициентов модели (В
), бета-коэффициенты (Beta
), их стандартные ошибки, значения критерия Стьюдента для проверки гипотезы о достоверности этих коэффициентов ( 2. Таблицу результатов анализа остатков, содержащую наблюдаемые (Observed
Value
) и предсказанные по модели (Predicted
Value
) значения зависимой переменной, остатки (Residual
) и другое. 3. Статистику Дарбина-Уотсона. 4. Графики: гистограмму остатков, диаграмму рассеяния, график на нормальной вероятностной бумаге. 5. Таблицу эмпирических и теоретических частот. Оба модуля написаны на языке STATISTICAVISUALBASIC. Рассмотрим схему работы программы regres-normal
(рис. 5). Рис. 5. Схема работы программы regres-normal
Весь блок программного кода в совокупности представляет собой модуль.
Модуль regres-normal
состоит из ряда операторов, организованных в шесть разделов: это раздел объявлений, начинающийся оператором Option
Base
1
, процедура Main
, функция InputDialog
, функция UI
, процедуры MultipleRegression
и NormalDistribution
. Переменные, содержащиеся в разделе объявлений, представляют собой глобальные переменные (Приложение В, табл. 1). Выполнение программы начинается с процедуры MAIN
(рис. 5).
Данная процедура вызывает функцию InputDialog
, которую в свою очередь обслуживает функция UI.
Функция InputDialog
отображает пользовательский диалог "Multiple Regression. Residual Analysis"
, переменные Alpha
иAlphaValue
инициализируются значениями, содержащимися в соответствующих элементах управления типа TextBox. Функция UI
отображает диалог выбора переменных для анализа ("Select dependent and independent variable lists:"
). Здесь происходит инициализация списков зависимых и независимых переменных (VarList
1(),
VarList
2()
), а также переменных типа Long
, хранящих количество элементов в этих списках (InList
1,
InList
2
). В случае отсутствия ошибок при вызове пользовательских диалогов далее в процедуре Main
происходит последовательный вызов процедур MultipleRegression
и NormalDistribution.
В процедуре MultipleRegression
осуществляется регрессионный анализ с использованием данных из текущей таблицы (S
1
), а также происходит инициализация вновь созданной таблицы остатков (NewSpreadsheet
). В процедуре NormalDistribution
осуществляется проверка остатков из таблицы NewSpreadsheet
на нормальное распределение. 3.2 Проверка гипотезы о нормальности остатков в модели вторичного рынка жилья в г. Минске
В модели исследуется зависимость стоимости вторичного жилья в г.Минске (Cena
) от следующих факторов: общей площади квартиры (Pl
Ob
), возраста дома (Vozrast
). Для работы использованы данные о 154 квартирах г. Минска за 2006 год. В модель также включена бинарная, «фиктивная» переменнаяType
, которая принимает значение 1, если квартира находится в кирпичном доме и значение 0 для всех остальных случаев. Построенная модель стоимости квартир в г. Минске имеет вид: Все коэффициенты регрессии статистически значимы, что показывает t-статистика и соответствующие значения вероятности (p), которые ниже уровня статистической значимости 0,05. Для построенной модели (1) коэффициент корреляции Остатки распределены нормально: Рис. 1 График остатков на нормальной вероятностной бумаге На рис. 1 значения по оси y представляют собой функциональное преобразование кривой нормального распределения в прямую. Если наблюдаемые остатки, представленные на оси х, распределяются по нормальному закону, то все значения попадают на прямую линию на графике. В представленном графике остатки расположены достаточно близко к линии, а следовательно можно сделать предположение об их нормальном распределении. Рис. 2 Гистограмма распределения остатков Для графической оценки вида распределения также приводится гистограмма распределения остатков (рис.2). Его можно трактовать как соответствующее нормальному. Рассмотрим график зависимости остатков ε
i
от теоретических значений результативного признака Рис. 3 График зависимости остатков ε
i
от теоретических значений результативного признака Из рисунка 3 можно сделать вывод о наличии гетероскедастичности: остатки ε
i
имеют неодинаковую дисперсию. Уравнение регрессии имеет наглядную интерпретацию. Так, увеличение общей площади квартиры на 1м2
увеличивает ее цену на 909,445 у.е. Отрицательное значение коэффициента при Vozrast (-58,685) означает, что увеличение возраста квартиры на 1год уменьшает ее цену на 58,685у.е. Квартира в кирпичном доме (Type=1) стоит дороже на 1914,209 у.е., чем аналогичная квартира, например, в панельном доме. Использование данной модели для прогноза возможно в случае устранения гетероскедастичности, связанной с неоднородностью выборки. Для этого необходимо провести предварительный отбор однородных случаев, а затем осуществить построение модели. ЗАКЛЮЧЕНИЕ
Математическая статистика и ее применение в экономике - эконометрика - позволяют строить экономические модели и оценивать их параметры, проверять гипотезы о свойствах экономических показателей и формах их связи. В основе методов, с помощью которых строятся экономические модели, лежит корреляционно-регрессионный анализ. Множественный регрессионный анализ заключается в определении аналитического выражения связи, в котором изменение одной величины (называемой зависимой) обусловлено влиянием нескольких независимых величин, а множество всех прочих факторов, также оказывающих влияние на зависимую переменную, принимается за постоянные и средние значения. Наиболее распространенным в практике статистического оценивания параметров уравнений регрессии является метод наименьших квадратов (МНК). Этот метод основан на ряде предпосылок относительно природы данных и результатов построения модели. Основные из них - это некоррелированность факторов, входящих в уравнение, линейность связи, отсутствие автокорреляции остатков, равенство их математических ожиданий нулю и постоянная дисперсия (гомоскедастичность). Эмпирические данные не всегда обладают такими характеристиками, т.е. предпосылки МНК нарушаются. Применение этого метода в чистом виде может привести к таким нежелательным результатам, как смещение оцениваемых параметров, снижение их состоятельности, устойчивости, а в некоторых случаях может совсем не дать решения. В случае нарушения предпосылок МНК, необходимо корректировать модель. После оценивания уравнения регрессии по методу наименьших квадратов нужно всегда исследовать остатки на нормальность. В случае нарушения данного предположения модель не является адекватной и не может быть использована для прогнозов. В пакете STATISTICA имеется внутренний язык программирования StatisticaVisual, который добавляет богатый арсенал из более чем 10000 новых функций к стандартному синтаксису Microsoft Visual Basic и является, таким образом, одним из самых функционально богатых и обширных интерфейсов прикладного программирования. SVB также предоставляет широкие возможности по созданию макросов. В ходе написания данной курсовой работы был создан макрос на языке SVB для проверки гипотезы о нормальности остатков регрессии. Необходимость разработки данного приложения связана с особенностями осуществления регрессионного анализа в пакете STATISTICA. Написанный модуль был использован при эконометрическом моделировании вторичного рынка жилья в г. Минске. Разработанное программное средство может в дальнейшем применятся при построении регрессионных моделей в пакете STATISTICA. ПРИЛОЖЕНИЕ А
Листинг программы
Option Base 1
Dim S1 As Spreadsheet Dim NewSpreadsheet As New Spreadsheet Public AlphaValue As Double Public Alpha As Double Dim VarList1 () As Long Dim VarList2 () As Long Dim Nvars As Long Dim InList1 As Long Dim InList2 As Long Dim ret As Integer Sub Main
On Error GoTo NoInputSpreadsheet Nvars = ActiveDataSet.NumberOfVariables On Error GoTo Finish ReDim VarList1(1 To Nvars) ReDim VarList2(1 To Nvars) If Not InputDialog Then GoTo Finish MultipleRegression NormalDistribution Finish: Exit Sub NoInputSpreadsheet: MsgBox "Open a data file (Spreadsheet) for this analysis", _ vbCritical End Sub Function InputDialog As Boolean
On Error GoTo Finish InputDialog=False Begin Dialog UserDialog 390,147, _ "Multiple Regression. Residual Analysis", .UI ' %GRID:10,7,1,1 PushButton 20,14,120,21,"Variables",.VariableSelection Text 40,42,70,14,"Grouping:",.Text1 Text 110,42,180,14,"none",.Text2 Text 30,56,80,14,"Dependent:",.Text3 Text 110,56,180,14,"none",.Text4 Text 30,84,200,14,"Alpha:",.Text5 TextBox 220,77,90,21,.AlphaValue Text 30,104,200,14,"Alpha for highlighting effects:",.Text6 TextBox 220,100,90,21,.Alpha OKButton 310,14,70,21,.OkButton CancelButton 310,42,70,21,.CancelButton End Dialog Dim dlg As UserDialog dlg.AlphaValue=",05" dlg.Alpha=",05" TryAgain: On Error GoTo Finish Dialog dlg On Error GoTo BadAlphaValue AlphaValue = CDbl(dlg.AlphaValue) Alpha = CDbl(dlg.Alpha) InputDialog=True Finish: Exit Function BadAlphaValue: MsgBox "Bad alpha value; please specify a valid alpha value." GoTo TryAgain End Function Private Function UI
(DlgItem$, Action%, SuppValue&) As Boolean Dim ok As Boolean Select Case Action% Case 1 ' Dialog box initialization Case 2 ' Value changing or button pressed UI = True Select Case DlgItem Case "CancelButton" UI=False Case "OkButton" ok=False If InList1<1 Or InList2<1 Then ok=True GoTo DoVariables End If UI=False Case "VariableSelection" ok=False DoVariables: ret = SelectVariables2 (ActiveDataSet, _ "Select dependent and independent variable lists:", _ 1, Nvars, VarList1, InList1, "Dependent var. (or list for batch):", _ 1, Nvars, VarList2, InList2, "Independent variable list:") If ret=0 Then GoTo Finish If InList1>0 Then DlgText "Text4", "Selected" Else DlgText "Text4", "none" End If If InList2>0 Then DlgText "Text2", "Selected" Else DlgText "Text2", "none" End If End Select End Select Finish: End Function Sub MultipleRegression Set S1 = ActiveSpreadsheet Dim newanalysis2 As Analysis Set newanalysis2 = Analysis (scMultipleRegression,S1) With newanalysis2.Dialog Variables = Array(VarList1,VarList2) InputFile = scRegRawData CasewiseDeletionOfMD = True PerformDefaultNonStepwiseAnalysis = False ReviewDescriptiveStatistics = False ExtendedPrecisionComputations = False BatchProcessingAndPrinting = False End With newanalysis2.Run With newanalysis2.Dialog .ComputeConfidenceLimits = True .AlphaForLimits = AlphaValue .PLevelForHighlighting = Alpha End With newanalysis2.RouteOutput(newanalysis2.Dialog.Summary).Visible = True newanalysis2.Run With newanalysis2.Dialog RawResiduals = True StandardResidualPlusMinusSigmaOutliers = True RawPredictedValues = True MaxNumberOfCasesInSpreadsheetsAndGraphs = 100000 End With newanalysis2.RouteOutput(newanalysis2.Dialog.Summary).Visible = True newanalysis2.RouteOutput(newanalysis2.Dialog.HistogramOfResiduals).Visible = True newanalysis2.RouteOutput(newanalysis2.Dialog.DurbinWatsonStatistics).Visible = True newanalysis2.RouteOutput(newanalysis2.Dialog.ScatterplotOfPredictedVsResiduals).Visible = True newanalysis2.RouteOutput(newanalysis2.Dialog.NormalPlotOfResiduals).Visible = True Set ResSpreadsheetCollection=newanalysis2.Dialog.Summary Set ResSpreadsheet=ResSpreadsheetCollection.Item(1) Dim n As Long n=ResSpreadsheet.NumberOfCases-4 Set Cells=ResSpreadsheet.CellsRange( _ 1, 3,n, 3) Cells.Select ResSpreadsheet.CopyWithHeaders NewSpreadsheet.SetSize n, 1 NewSpreadsheet.Visible=True Set Cells=NewSpreadsheet.CellsRange(1,1,1,1) Cells.Select NewSpreadsheet.Paste End Sub Sub NormalDistribution Dim newanalysis3 As Analysis Set newanalysis3 = Analysis (scDistributions, NewSpreadsheet) With newanalysis3.Dialog .FitContinuousDistributions = True .ContinuousDistribution = scNonNormal End With newanalysis3.Run With newanalysis3.Dialog Variable = "1" Distribution = scNonNormal KolmogorvNo = True CombineBinsForChiSquare = True FrequencyDistribution = True RawFrequencies = True End With newanalysis3.RouteOutput(newanalysis3.Dialog.Summary).Visible = True newanalysis3.RouteOutput(newanalysis3.Dialog.PlotOfDistribution).Visible = True End Sub ПРИЛОЖЕНИЕ Б
Листинг программы
Sub Main Dim bars As CommandBars Set bars = CommandBarOptions.CommandBars(scBarTypeToolBar) Dim newBar As CommandBar Set newBar = bars.Add("CUSTOM") newBar.InsertMacroButton 1, "d:\work\Macros\_1_\regres-normal.svb" , "Нормальностьостатков" newBar.InsertSeparator 2 newBar.Item(1).DisplayMode = scCommandDisplayTextAndImage End Sub ПРИЛОЖЕНИЕ В
Таблица 1 Глобальные переменные Dim NewSpreadsheet As New Spreadsheet Dim VarList2() As Long Dim Nvars As Long Dim InList2 As Long
|