Индексы пересчета в строительстве это

Критерий Дарбина-Уотсона (Durbin–Watson statistic) — один из самых распространенных критериев для проверки автокорреляции.

Данный критерий входит в стандартный инструментарий python:

присутствует в таблице выдачи результатов регрессионного анализа модуля линейной регрессии Linear Regression;

К сожалению, стандартные инструменты python не позволяют получить табличные значения статистики критерия Дарбина-Уотсона, нам предлагается воспользоваться методом грубой оценки: считается, что при расчетном значении статистики критерия в интервале [1; 2] автокорреляция отсутствует (см. Durbin–Watson statistic). Однако, для качественного статистического анализа такой подход неприемлем.

Представляет интерес реализовать в полной мере критерий Дарбина-Уотсона средствами python, добавив этот важный критерий в инструментарий специалиста DataScience.

В данном обзоре мы коснемся только собственно критерия Дарбина-Уотсона и его применения для выявления автокорреляции. Особенности построения регрессионных моделей и прогнозирования в условиях автокорреляции (двухшаговый метод наименьших квадратов и пр.) мы рассматривать не будем.

Как пересчитать смету из старой формы в новую методику в Грандсмте с построчным начислением индексов

Применение пользовательских функций

Как и в предыдущем обзоре, здесь будут использованы несколько пользовательских функций для решения разнообразных задач. Все эти функции созданы для облегчения работы и уменьшения размера программного кода. Данные функции загружается из пользовательского модуля my_module__stat.py, который доступен в моем репозитории на GitHub.

Вот перечень данных функций:

graph_plot_sns_np — функция строит линейный график средствами seaborn;

graph_regression_plot_sns — функция строит график регрессионной модели и график остатков средствами seaborn;

regression_error_metrics — функция возвращает ошибки аппроксимации регрессионной модели;

graph_hist_boxplot_probplot_sns — функция позволяет визуализировать исходные данные для одной переменной путем одновременного построения гистограммы, коробчатой диаграммы и вероятностного графика средствами seaborn; имеется возможность выбирать, какие графики строить (h — hist, b — boxplot, p — probplot);

norm_distr_check — проверка нормальности распределения исходных данных с использованием набора из нескольких статистических тестов.

Goldfeld_Quandt_test, Breush_Pagan_test, White_test — проверка гетероскедастичности с использование тестов Голдфелда-Квандта, Бриша-Пэгана и Уайта соответственно;

graph_regression_pair_predict_plot_sns — прогнозирование: построение графика регрессионной модели (с доверительными интервалами) и вывод расчетной таблицы с данными для заданной области значений X.

В процессе данного обзора мы создаем пользовательскую функцию Durbin_Watson_test, которая проверяет гипотезу о наличии автокорреляции (она тоже включена в пользовательский модуль my_module__stat.py).

Основы теории

Информацию о критерии Дарбина-Уотсона можно почерпнуть в [1, с.659], [2, с.117], [3, с.239], [4, с.188], а также:

Как начислять индексы Минстроя на ФЕР(Федеральные Единичные Расценки) в 2020 году

Итак, предположим, мы рассматриваем регрессионную модель:

или в матричном виде:

Критерий Дарбина-Уотсона применяется в ситуации, когда регрессионные остатки связаны автокорреляционной зависимостью 1-го порядка [2, с.111]:

где — некоторое число (), а случайные величины удовлетворяют требованиям, предъявляемым к регрессионным остаткам классической модели (т.е. равенство нулю среднего значения, постоянство дисперсии и некоррелированность между собой):

Проверяется нулевая гипотеза об отсутствии автокорреляции:

Альтернативной гипотезой может быть:

существование отрицательной автокорреляции (левосторонняя критическая область):

существование положительной автокорреляции (правосторонняя критическая область):

существование автокорреляции вообще (двусторонняя критическая область):

Расчетное значение статистики критерия Дарбина-Уотсона имеет вид:

где — остатки (невязки) регрессионной модели.

По таблицам (см. [1, с.659], [2, с.402], [3, с.291]) в зависимости от уровня значимости (5%, 2.5%, 1%), числа параметров регрессионной модели (кроме свободного члена ) (от 1 до 5) и объема выборки (от 15 до 100) определяются критические значения статистики Дарбина-Уотсона: нижний и верхний предел.

Правила принятия гипотез по критерию Дарбина-Уотсона выглядят довольно своеобразно — критические значения образуют пять областей различных статистических решений (причем критические границы принятия и непринятия не совпадают):

есть положительная автокорреляция

есть отрицательная автокорреляция

Есть очень удачная мнемоническая схема, приведенная в [3, с.240]:

Особенности критерия Дарбина-Уотсона:

Критические значения критерия табулированы для объема выборки от 15 до 100, аппроксимаций мне обнаружить не удалось. При меньших значениях критерий применять нельзя, при больших — очевидно, приходиться пользоваться грубым оценочным правилом: при расчетном значении статистики критерия в интервале [1; 2] автокорреляция отсутствует (см. https://en.wikipedia.org/wiki/Durbin–Watson_statistic).

Критерий позволяет выявить только автокорреляцию 1-го порядка. Отклонение нулевой гипотезы не означает, что автокорреляции нет вообще — возможно наличие автокорреляции более высоких порядков.

Критерий построен в предположении, что регрессоры и ошибки не коррелированы, поэтому его нельзя применять, в частности, для моделей авторегрессии [4, с.191].

Читайте также:  В какой стране строительство пирамиды фараона хеопса

Критерий не подходит для моделей без свободного члена .

Критерий имеет зону неопределенности, когда нет оснований ни принимать, ни отвергать нулевую гипотезу.

Между статистикой критерия и коэффициентом автокорреляции существует приближенное соотношение:

Существуют и другие критерии для проверки автокорреляции (тест Бройша-Годфри, Льюнга-Бокса и пр.).

Как было указано выше, большой проблемой является отсутствие табличных значений статистики критерия Дарбина-Уостона в стандартном инструментарии python. Для реализации возможностей данного критерия в полном объеме нам потребуется оцифровка весьма объемных таблиц критических значений.

Оцифровка табличных значений статистики критерия Дарбина — Уотсона

Я решил добавить в обзор этот раздел, хотя, строго говоря, можно было обойтись и без него, а сразу воспользоваться оцифрованными таблицами статистики критерия Дарбина-Уотсона.

Однако, если мы хотим выполнять качественный статистический анализ, неизбежно придется работать с большим количеством статистических критериев и далеко не все из них реализованы в python. Критерий Дарбина-Уотсона — это только один из многих. Количество критериев, рассматриваемых в литературе по прикладной статистике в последние годы постоянно увеличивается.

Специалисту придется реализовывать многие критерии самостоятельно и одна из проблем, с которой придется столкнуться — это таблицы критических значений. Далеко не все табличные значения имеют аппроксимации, а значит придется каким-то образом оцифровывать эти таблицы. Небольшие таблицы можно сохранить в файлах вручную, а вот такой подход с объемными таблицами (как в нашем случае) — это слишком непроизводительно и нерационально.

В общем, на мой взгляд, представляет интерес разобрать пример оцифровки статистических таблиц на примере нашего критерия Дарбина-Уотсона — это позволит специалистам сэкономить человеко-часы работы и облегчить совершенствование инструментов статистического анализа.

Замечу сразу, что я не являюсь глубоким специалистом в области анализа и обработки изображений и текстов на python — это не совсем мой профиль. Профессионалы в этой области, возможно, раскритикуют то, как решается поставленная задача и предложат более удачное решение. Если будет так — то заранее спасибо. Я же эту задачу старался решить наиболее простым и рациональным способом, доступным для широкого круга специалистов. На всякий случай могу процитировать Давоса Сиворта из «Игры престолов»: «Простите за то, что увидите».

Алгоритм действий:

Для оцифровки я использовал таблицы, приведенные в [3, с.290-292].

Сканируем таблицы, сохраняем в виде jpg-файлов (Durbin_Watson_test_1.jpg, Durbin_Watson_test_2.jpg, Durbin_Watson_test_3.jpg) в папке text_processing, расположенной внутри папки с рабочим .ipynb-файлом:

Распознаем текст (я воспользовался онлайн-сервисом https://convertio.co/), полученные текстовые файлы Durbin-Watson-test-1.ocr.txt, Durbin-Watson-test-2.ocr.txt, Durbin-Watson-test-3.ocr.txt также помещаем в папке text_processing.

Откроем файлы, запишем содержимое файлов в переменные, каждая из которых соответствует одной странице:

С остальными файлами — действуем аналогично:

Видим, что переменные представляют собой списки, элементами которых является строки.

Для облегчения дальнейшей обработки данных создадим список, элементами которого являются переменные-страницы:

Далее я не стал публиковать здесь скриншоты с обработкой страниц — из-за экономии места. В ipyng-файле, который доступен в моем репозитории, весь процесс обработки представлен достаточно подробно.

Исключаем все строки, которые начинаются не с цифр; при этом воспользуемся алгоритмом перезаписи списка:

Исключаем из текста управляющие символы (t, n) — с помощью регулярных выражений (regex) (модуль re):

Удаляем все символы, кроме цифр, точек, запятых и пробелов:

Заменяем запятые на точки:

Сохраняем данные в DataFrame — для этого создадим список Durbin_Watson_list_df, элементами которого являются отдельные DataFrame, каждый из которых соответствует отдельной странице:

Исправляем вручную отдельные аномалии, возникшие при распознавании отсканированных данных — к сожалению, работы вручную совсем избежать не удается.

Корректируем DataFrame, соответствующий 1-й странице:

Корректируем DataFrame, соответствующий 2-й странице:

Корректируем DataFrame, соответствующий 3-й странице:

Обращаем внимание, что откорректированные вручную значения являются числовыми, а все остальные значения — еще имеют строковый тип.

11. Преобразуем значения из строкового в числовой тип:

Корректируем структуру DataFrame:

меняем индекс — индексом теперь будет объем выборки n

каждый DataFrame снабжаем мультииндексом по столбцам (подробнее см. [7, с.169])

Объединяем отдельные DataFrame в один:

Итак, мы сформировали DataFrame с оцифрованными данными таблиц критических значений статистики Дарбина-Уотсона. Получить доступ к данным теперь очень просто — например, нам требуется вывести табличные значения статистики критерия при объеме выборки , доверительной вероятности и числе параметров регрессионной модели :

Построим график табличных значений.

График получился весьма объемным — 3х5 элементов — однако он необходим: на графике можно увидеть те ошибки (пики и впадины), которые мы могли пропустить при ручной обработке ранее (некорректно отсканированные и распознанные цифры), тогда придется вернуться к этапу 10.

Читайте также:  Основные работы по строительству коттеджа

Сохраняем полученный DataFrame в csv-файл, помещаем его в папку table, расположенную внутри папки с рабочим .ipynb-файлом (в которой папку table у нас хранятся файлы с данными из статистических таблиц):

Табличные значения статистики критерия Дарбина-Уотсона у нас теперь имеются, можем приступать к созданию пользовательской функции.

Создание пользовательской функции для реализации критерия Дарбина — Уотсона

Рассчитать статистику критерия Дарбина-Уотсона мы можем с помощью функции statsmodels.stats.stattools.durbin_watson.

Создадим пользовательскую функцию Durbin_Watson_test для проверки гипотезы об автокорреляции:

Протестируем созданную функцию — будем моделировать временные ряды с различными свойствами и выполнять проверку автокорреляции:

Смоделируем временной ряд с трендом, без автокорреляции остатков:

Смоделируем временной ряд без тренда:

Смоделируем временной ряд с трендом, с положительной автокорреляцией:

Смоделируем временной ряд с трендом, с отрицательной автокорреляцией:

Смоделируем временной ряд без тренда, с положительной автокорреляцией:

Смоделируем временной ряд без тренда, с отрицательной автокорреляцией:

Конечно, данный вычислительный эксперимент не может претендовать на всеобъемлемость, однако определенный любопытный предварительный вывод можно сделать: при наличии любого тренда (даже если этот тренда представляет собой равенство постоянной величине ) критерий Дарбина-Уотсона выдает нам наличие положительной автокорреляции (даже если в модели автокорреляция не заложена нет или она отрицательная). Такой вывод нужно исследовать более глубоко, но это не входит в цель данного обзора. Специалист должен помнить об особенностях критерия Дарбина-Уотсона.

Теперь мы можем перейти к практическим примерам.

Пример 1: проверка автокорреляции модели временного ряда

Формирование исходных данных

В качестве исходных данных рассмотрим динамику показателей индексов пересчета сметной стоимости проектно-изыскательских работ в РФ. Эти показатели ежеквартально публикует Министерство строительства и ЖКХ РФ, а все проектные и изыскательские организации используют эти показатели при составлении смет на свои работы.

В данном случае мы имеем набор показателей в виде временного ряда, для которого будем строить регрессионную модель долговременной тенденции (тренда), и остатки этой регрессионной модели будем исследовать на автокорреляцию.

Не будем подробно останавливаться на содержимом файла и его первичной обработке — это выходит за пределы данного обзора. Специалисты, причастные к сфере строительства и проектирования, поймут, а для остальных специалистов эти цифры можно воспринимать по аналогии с индексами инфляции Росстата и Минэкономразвития.

Прочитаем из этого файла интересующие нас данные — индексы изменения сметной стоимости проектных работ к уровню цен на 01.01.2001 г.:

Сохраним также вспомогательные (технические) переменные, необходимые при анализе временных рядов — дату (Date) и номер наблюдения (T):

Для удобства дальнейшей работы сформируем сформируем отдельный DataFrame:

Визуализация

Построение и анализ регрессионной модели

Построим линейную регрессионную модель и проведем ее экспресс-анализ:

Ошибки аппроксимации модели:

Проверка нормальности распределения остатков:

Как видим, результат совпадает со значением статистики критерия в таблице выдачи регрессионного анализа.

Выводы по результатам анализа модели:

Итак, мы провели статистический анализ регрессионной модели и установили:

Регрессионная модель хорошо аппроксимирует фактические данные.

Остатки модели имеют нормальное распределение (хотя результаты тестов противоречивы).

Коэффициент детерминации значим; модель объясняет 97% вариации независимой переменной.

Коэффициенты регрессии значимы.

Тест критерия Дарбина-Уотсона свидетельствует о наличии значимой положительной автокорреляции остатков.

Резюме — несмотря на вроде бы формально хорошие качественные показатели, нам следует признать эту модель некачественной и отвергнуть по следующим негативным причинам:

На графике модели хорошо заметна точка излома, которая говорит о смене тенденции (существуют специальные статистические тесты для проверки гипотез о смене тенденции, например, тест Чоу, но мы в данном обзоре рассматривать их не будем).

График остатков показывает нам крайне неприглядную картину: на начальном этапе тенденции явно прослеживаются колебания, а после точки излома тенденция вообще кардинально меняется.

Противоречивость тестов проверки нормальности распределения остатков.

Наличие автокорреляции. Явление автокорреляции может возникать в случае смены тенденции [5, с.118].

Тот факт, что распределение остатков признается нормальным по результатам таких тестов как Шапиро-Уилка, Эппса-Палли, Андерсона-Дарлинга может иметь разные причины, например, мы можем иметь дело со смесью двух распределений. Этот вопрос требует отдельного тщательного исследования.

Применение построенной модели приведет к ошибке, так как модель хорошо аппроксимирует существующие данные, но из-за смены тенденции неспособна дать качественный прогноз. Проиллюстрировать это можно, построив доверительный интервалы прогноза (формально мы можем это сделать, так как распределение остатков признано нормальным):

Нет, такой прогноз нам не нужен.

Пример 2: проверка автокорреляция регрессионной модели

Формирование исходных данных

Рассмотрим пример множественной линейной регрессионной модели, приведенный в источнике [6, с.192].

В качестве исходных данных рассматриваются ряд макроэкономических показателей США за 1960-1985 гг. (в сопоставимых ценах 1982 г., млрд.долл):

Читайте также:  Как привлекать клиентов в строительстве

DPI — годовой совокупный располагаемый личный доход;

CONS — годовые совокупные потребительские расходы;

ASSETS — финансовые активы населения на начало календарного года.

Предполагается, что между переменной CONS и регрессорами DPI, ASSETS имеется линейная регрессионная связь.

Исходные данные содержаться в файле Macroeconomic_indicators_USA_1960_1985.csv, который помещен в папку data.

Визуализация

Построение и анализ регрессионной модели

Построим линейную регрессионную модель и проведем ее экспресс-анализ:

Ошибки аппроксимации модели:

Проверка нормальности распределения остатков:

Выводы по результатам анализа модели:

Как видим, в целом результаты расчетов совпадают с результатами из первоисточника [6], в части выявления автокорреляции аналогично.

Информация к размышлению.

Анализ показывает, что модель хорошо аппроксимирует фактические данные, но имеет место отклонение от нормального закона распределения остатков, противоречивые выводы о гетероскедастичности и наличие автокорреляции, то есть модель некачественная.

Также мы видим, что динамика макроэкономических показателей свидетельствует о наличии трендов, однако, если в модель добавить еще один фактор — год или номер наблюдения — то, этот фактор окажется незначимым.

В дальнейшем автор при анализе остатков модели [6, с.198] выявляет структурный сдвиг (обусловленный мировым топливно-энергетическим кризисом в 1973 г.) и вводит в модель фиктивные переменные, учитывающие этот структурный сдвиг

Итоги

Итак, подведем итоги:

мы рассмотрели способы реализации в полной мере критерия Дарбина-Уотсона средствами python, создали пользовательскую функцию, уменьшающую размер кода;

разобрали пример оцифровки таблицы критических значений статистического критерия для реализации пользовательской функции.

Надеюсь, данный обзор поможет специалистам DataScience в работе.

Литература

Кобзарь А.И. Прикладная математическая статистика. Для инженеров и научных работников. — М.: ФИЗМАТЛИТ, 2006. — 816 с.

Айвазян С.А. Прикладная статистика. Основы эконометрики: В 2 т. — Т.2: Основы эконометрики. — 2-е изд., испр. — М.: ЮНИТИ-ДАНА, 2001. — 432 с.

Фёрстер Э., Рёнц Б. Методы корреляционного и регрессионного анализа / пер с нем. — М.: Финансы и статистика, 1983. — 302 с.

Магнус Я.Р. и др. Эконометрика. Начальный курс — М.: Дело, 2004. — 576 с.

Тихомиров Н.П., дорохина Е.Ю. Эконометрика. — М.: Экзамен, 2003. — 512 с.

Носко В.П. Эконометрика. Кн.1. Ч.1, 2. — М.: Издательский дом «Дело» РАНХиГС, 2011. — 672 с.

Вандер Плас Дж. Python для сложных задач: наука о данных и машинное обучение. — СПб: Питер, 2018. — 576 с.

Источник: habr.com

Применение ресурсно-индексного метода в строительстве.

Применение ресурсно-индексного метода в строительстве.

Применение ресурсно-индексного метода в строительстве.

Переход на ресурсно-индексный метод ценообразования в строительной отрасли Российской Федерации запланирован с 2023 года.

На основании обращений субъектов РФ и отраслевых госкомпаний значительно расширена номенклатура индексов изменения сметной стоимости строительства.

Ведется работа над новым механизмом, который позволит перейти от ручного режима к системному подходу в пересчете цены контракта.

Важным направлением является создание единого правового пространства государств – участников СНГ в области строительства путем формирования и совершенствования нормативно-правовой базы.

Источник: www.ekcpertiza.ru

Лишь половина регионов РФ предоставила материалы для расчета индексов для стройки

Москва. 11 апреля. ИНТЕРФАКС-НЕДВИЖИМОСТЬ- Только половина регионов РФ предоставила необходимые материалы для расчета индексов ценообразования в строительстве, сообщил замруководителя Главгосэкспертизы Сергей Лахаев.
«Индексы изменения сметной стоимости будут пересчитывать ежеквартально расчетным методом. Поручение было дано министром, чтобы к 8 числу уже представить все необходимые материалы для расчета индексов расчетным методом, но, к сожалению, могу сказать, что только половина субъектов с этой задачей справились.

Жаловаться все горазды, а как дело дошло до предоставления документов, половина не готова, это при том, что все отчитались о создании центров. Сейчас мы получаем письма, что нужно время, деньги. Тут, наверное, мы видим выход в помощи со стороны НОСТРОЯ, чтобы помочь коллегам. Эта работа нужна всем подрядчикам, заказчикам и не позволит «просадить» строительную отрасль», — отметил Лахаев в ходе расширенного заседания комиссии по вопросам ценообразования в строительстве и технологическому и ценовому аудиту Общественного совета при Минстрое России «Роль СРО в развитии системы ценообразования в строительстве».

Как добавил глава НОСТРОЯ Антон Глушков, организация готова поддержать эту инициативу.

«Вы нам отстающие регионы выгрузите, мы тогда в рамках СРО с этими отстающими регионами решим, чтобы они оперативно отработали, потому что это нужно в первую очередь субъектам», — согласился Глушков.

Он добавил, что речь идет не о принуждении, а о разъяснении и поддержке.

«Динамика по контрактам не меняется, это говорит о том, что госконтракты, которые сейчас торгуются, являются не очень привлекательными для бизнеса и любой руководитель субъекта заинтересован в том, чтобы они стали привлекательными», — заключил глава НОСТРОЙ.

Источник: www.tatre.ru

Рейтинг
Загрузка ...