Погрешность аппроксимации в excel

Регрессионная сумма квадратов

Рисунок 4 Результат вычисления функции ЛИНЕЙН

Получили уровнение регрессии:

Делаем вывод: С увеличением среднедушевого прожиточного минимума на 1 руб. среднедневная заработная плата возрастает в среднем на 0,92 руб.

Означает, что 52% вариации заработной платы (у) объясняется вариацией фактора х — среднедушевого прожиточного минимума, а 48% — действием других факторов, не включённых в модель.

По вычисленному коэффициенту детерминации можно рассчитать коэффициент корреляции: .

Связь оценивается как тесная.

4. С помощью среднего (общего) коэффициента эластичности определим силу влияния фактора на результат.

Для уравнения прямой средний (общий) коэффициент эластичности определим по формуле:

Средние значения найдём, выделив область ячеек со значениями х, и выберем Формулы / Автосумма / Среднее , и то же самое произведём со значениями у.

Рисунок 5 Расчёт средних значений функции и аргумент

Таким образом, при изменении среднедушевого прожиточного минимума на 1% от своего среднего значения среднедневная заработная плата изменится в среднем на 0,51%.

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

Порядок действий следующий:

1) проверьте доступ к Пакету анализа . В главном меню последовательно выберите: Файл/Параметры/Надстройки .

2) В раскрывающемся списке Управление выберите пункт Надстройки Excel и нажмите кнопку Перейти.

3) В окне Надстройки установите флажок Пакет анализа , а затем нажмите кнопку ОК .

Если Пакет анализа отсутствует в списке поля Доступные надстройки , нажмите кнопку Обзор , чтобы выполнить поиск.

Если выводится сообщение о том, что пакет анализа не установлен на компьютере, нажмите кнопку Да , чтобы установить его.

4) В главном меню последовательно выберите: Данные / Анализ данных / Инструменты анализа / Регрессия , а затем нажмите кнопку ОК .

5) Заполните диалоговое окно ввода данных и параметров вывода:

Входной интервал Y — диапазон, содержащий данные результативного признака;

Входной интервал X — диапазон, содержащий данные факторного признака;

Метки — флажок, который указывает, содержит ли первая строка названия столбцов или нет;

Константа — ноль — флажок, указывающий на наличие или отсутствие свободного члена в уравнении;

Выходной интервал — достаточно указать левую верхнюю ячейку будущего диапазона;

6) Новый рабочий лист — можно задать произвольное имя нового листа.

Затем нажмите кнопку ОК .

Рисунок 6 Диалоговое окно ввода параметров инструмента Регрессия

Результаты регрессионного анализа для данных задачи представлены на рисунке 7.

Рисунок 7 Результат применения инструмента регрессия

5. Оценим с помощью средней ошибки аппроксимации качество уравнений. Воспользуемся результатами регрессионного анализа представленного на Рисунке 8.

Рисунок 8 Результат применения инструмента регрессия «Вывод остатка»

Составим новую таблицу как показано на рисунке 9. В графе С рассчитаем относительную ошибку аппроксимации по формуле:

Рисунок 9 Расчёт средней ошибки аппроксимации

Средняя ошибка аппроксимации рассчитывается по формуле:

Качество построенной модели оценивается как хорошее, так как не превышает 8 — 10%.

6. Из таблицы с регрессионной статистикой (Рисунок 4) выпишем фактическое значение F-критерия Фишера:

Поскольку при 5%-ном уровне значимости, то можно сделать вывод о значимости уравнения регрессии (связь доказана).

8. Оценку статистической значимости параметров регрессии проведём с помощью t-статистики Стьюдента и путём расчёта доверительного интервала каждого из показателей.

Выдвигаем гипотезу Н 0 о статистически незначимом отличии показателей от нуля:

.

для числа степеней свободы

На рисунке 7 имеются фактические значения t-статистики:

t-критерий для коэффициента корреляции можно рассчитать двумя способами:

где — случайная ошибка коэффициента корреляции.

Данные для расчёта возьмём из таблицы на Рисунке 7.

Фактические значения t-статистики превосходят табличные значения:

Поэтому гипотеза Н 0 отклоняется, то есть параметры регрессии и коэффициент корреляции не случайно отличаются от нуля, а статистически значимы.

Доверительный интервал для параметра a определяется как

Для параметра a 95%-ные границы как показано на рисунке 7 составили:

Доверительный интервал для коэффициента регрессии определяется как

Для коэффициента регрессии b 95%-ные границы как показано на рисунке 7 составили:

Анализ верхней и нижней границ доверительных интервалов приводит к выводу о том, что с вероятностью параметры a и b, находясь в указанных границах, не принимают нулевых значений, т.е. не являются статистически незначимыми и существенно отличны от нуля.

7. Полученные оценки уравнения регрессии позволяют использовать его для прогноза. Если прогнозное значение прожиточного минимума составит:

Тогда прогнозное значение прожиточного минимума составит:

Ошибку прогноза рассчитаем по формуле:

где

Дисперсию посчитаем также с помощью ППП Excel. Для этого:

1) Активизируйте Мастер функций : в главном меню выберете Формулы / Вставить функцию .

3) Заполните диапазон, содержащий числовые данные факторного признака. Нажмите ОК .

Рисунок 10 Расчёт дисперсии

Получили значение дисперсии

Для подсчёта остаточной дисперсии на одну степень свободы воспользуемся результатами дисперсионного анализа как показано на Рисунке 7.

Доверительные интервалы прогноза индивидуальных значений у при с вероятностью 0,95 определяются выражением:

Интервал достаточно широк, прежде всего, за счёт малого объёма наблюдений. В целом выполненный прогноз среднемесячной заработной платы оказался надёжным.

Условие задачи взято из: Практикум по эконометрике: Учеб. пособие / И.И. Елисеева, С.В. Курышева, Н.М. Гордеенко и др.; Под ред. И.И. Елисеевой. — М.: Финансы и статистика, 2003. — 192 с.: ил.

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

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

Коэффициент детерминации R 2 может принимать значения от 0 до 1. Чем ближе коэффициент детерминации R 2 к единице, тем лучше качество модели.

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

Индекс корреляции R характеризует тесноту выбранного при построении модели типа связи между учтёнными в модели факторами и исследуемой переменной. В случае линейной парной регрессии его значение по абсолютной величине совпадает с коэффициентом парной корреляции r (x, y) , который мы рассмотрели ранее, и характеризует тесноту линейной связи между x и y . Значения индекса корреляции, очевидно, также лежат в интервале от 0 до 1. Чем ближе величина R к единице, тем теснее выбранный вид функции связывает между собой факторные переменные и исследуемый признак, тем лучше качество модели.

(2.11)

выражается в процентах и характеризует точность модели. Приемлимая точность модели при решении практических задач может определяться, исходя из соображений экономической целесообразности с учётом конкретной ситуации. Широко применяется критерий, в соответствии с которым точность считается удовлетворительной, если средняя относительная погрешность меньше 15%. Если E отн.ср. меньше 5%, то говорят, что модель имеет высокую точность. Не рекомендуется применять для анализа и прогноза модели с неудовлетворительной точностью, то есть, когда E отн.ср. больше 15%.

F-критерий Фишера используется для оценки значимости уравнения регрессии. Расчётное значение F-критерия определяется из соотношения:

. (2.12)

Критическое значение F -критерия определяется по таблицам при заданном уровне значимости α и степенях свободы (можно использовать функцию FРАСПОБР в Excel). Здесь, по-прежнему, m – число факторов, учтённых в модели, n – количество наблюдений. Если расчётное значение больше критического, то уравнение модели признаётся значимым. Чем больше расчётное значение F -критерия, тем лучше качество модели.

Определим характеристики качества построенной нами линейной модели для Примера 1 . Воспользуемся данными Таблицы 2. Коэффициент детерминации :

Следовательно, в рамках линейной модели изменение объёма продаж на 90,1% объясняется изменением температуры воздуха.

.

Значение индекса корреляции в случае парной линейной модели как мы видим, действительно по модулю равно коэффициенту корреляции между соответствующими переменными (объём продаж и температура). Поскольку полученное значение достаточно близко к единице, то можно сделать вывод о наличии тесной линейной связи между исследуемой переменной (объём продаж) и факторной переменноё (температура).

Критическое значение F кр при α = 0,1; ν 1 =1; ν 2 =7-1-1=5 равно 4,06. Расчётное значение F -критерия больше табличного, следовательно, уравнение модели является значимым.

Средняя относительная ошибка аппроксимации

Построенная линейная модель парной регрессии имеет неудовлетворительную точность (>15%), и её не рекомендуется использовать для анализа и прогнозирования.

В итоге, несмотря на то, что большинство статистических характеристик удовлетворяют предъявляемым к ним критериям, линейная модель парной регрессии непригодна для прогнозирования объёма продаж в зависимости от температуры воздуха. Нелинейный характер зависимости между указанными переменными по данным наблюдений достаточно хорошо виден на Рис.1. Проведённый анализ это подтвердил.

Среди различных методов прогнозирования нельзя не выделить аппроксимацию. С её помощью можно производить приблизительные подсчеты и вычислять планируемые показатели, путем замены исходных объектов на более простые. В Экселе тоже существует возможность использования данного метода для прогнозирования и анализа. Давайте рассмотрим, как этот метод можно применить в указанной программе встроенными инструментами.

Наименование данного метода происходит от латинского слова proxima – «ближайшая» Именно приближение путем упрощения и сглаживания известных показателей, выстраивание их в тенденцию и является его основой. Но данный метод можно использовать не только для прогнозирования, но и для исследования уже имеющихся результатов. Ведь аппроксимация является, по сути, упрощением исходных данных, а упрощенный вариант исследовать легче.

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

Но она может быть построена с применением одного из пяти видов аппроксимации:

  • Линейной;
  • Экспоненциальной;
  • Логарифмической;
  • Полиномиальной;
  • Степенной.

Рассмотрим каждый из вариантов более подробно в отдельности.

Способ 1: линейное сглаживание

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

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

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

В конкретно нашем случае формула принимает такой вид:

Величина достоверности аппроксимации у нас равна 0,9418 , что является довольно приемлемым итогом, характеризующим сглаживание, как достоверное.

Способ 2: экспоненциальная аппроксимация

Теперь давайте рассмотрим экспоненциальный тип аппроксимации в Эксель.

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

где e – это основание натурального логарифма.

В конкретно нашем случае формула приняла следующую форму:

Способ 3: логарифмическое сглаживание

Теперь настала очередь рассмотреть метод логарифмической аппроксимации.

В общем виде формула сглаживания выглядит так:

где ln – это величина натурального логарифма. Отсюда и наименование метода.

В нашем случае формула принимает следующий вид:

Способ 4: полиномиальное сглаживание

Настал черед рассмотреть метод полиномиального сглаживания.

Формула, которая описывает данный тип сглаживания, приняла следующий вид:

Способ 5: степенное сглаживание

В завершении рассмотрим метод степенной аппроксимации в Excel.

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

Общая формула, описывающая данный метод имеет такой вид:

В конкретно нашем случае она выглядит так:

Как видим, при использовании конкретных данных, которые мы применяли для примера, наибольший уровень достоверности показал метод полиномиальной аппроксимации с полиномом в шестой степени (0,9844 ), наименьший уровень достоверности у линейного метода (0,9418 ). Но это совсем не значит, что такая же тенденция будет при использовании других примеров. Нет, уровень эффективности у приведенных выше методов может значительно отличаться, в зависимости от конкретного вида функции, для которой будет строиться линия тренда. Поэтому, если для этой функции выбранный метод наиболее эффективен, то это совсем не означает, что он также будет оптимальным и в другой ситуации.

Если вы пока не можете сразу определить, основываясь на вышеприведенных рекомендациях, какой вид аппроксимации подойдет конкретно в вашем случае, то есть смысл попробовать все методы. После построения линии тренда и просмотра её уровня достоверности можно будет выбрать оптимальный вариант.

Контрольная работа: Парная регрессия

Смысл регрессионного анализа – построение функциональных зависимостей между двумя группами переменных величин Х1 , Х2 , … Хр и Y. При этом речь идет о влиянии переменных Х (это будут аргументы функций) на значения переменной Y (значение функции). Переменные Х мы будем называть факторами, а Y – откликом.

Наиболее простой случай – установление зависимости одного отклика y от одного фактора х. Такой случай называется парной (простой) регрессией.

Парная регрессия – уравнение связи двух переменных у иx :

,

где у – зависимая переменная (результативный признак);

х – независимая, объясняющая переменная (признак-фактор).

Различают линейные и нелинейные регрессии.

Линейная регрессия:.

Нелинейные регрессии делятся на два класса: регрессии, нелинейные относительно включенных в анализ объясняющих переменных, но линейные по оцениваемым параметрам, и регрессии, нелинейные по оцениваемым параметрам.

Регрессии, нелинейные по объясняющим переменным:

• полиномы разных степеней

•равносторонняя гипербола

Регрессии, нелинейные по оцениваемым параметрам:

• степенная ;

• показательная

• экспоненциальная

Построение уравнения регрессии сводится к оценке ее параметров. Для оценки параметров регрессий, линейных по параметрам, используют метод наименьших квадратов (МНК). МНК позволяет получить такие оценки параметров, при которых сумма квадратов отклонений фактических значений результативного признака у от теоретических минимальна, т.е.

Для линейных и нелинейных уравнений, приводимых к линейным, решается следующая система относительно а и b :

Можно воспользоваться готовыми формулами, которые вытекают из этой системы:

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

и индекс корреляции — для нелинейной регрессии ():

Оценку качества построенной модели даст коэффициент (индекс) детерминации, а также средняя ошибка аппроксимации.

Средняя ошибка аппроксимации – среднее отклонение расчетных значений от фактических:

Допустимый предел значений – не более 8 – 10%.

Средний коэффициент эластичности показывает, на сколько процентов в среднем по совокупности изменится результат у от своей средней величины при изменении фактора x на 1% от своего среднего значения:

Задача дисперсионного анализа состоит в анализе дисперсии зависимой переменной:

где – общая сумма квадратов отклонений;

– сумма квадратов отклонений, обусловленная регрессией («объясненная» или «факторная»);

–остаточная сумма квадратов отклонений.

Долю дисперсии, объясняемую регрессией, в общей дисперсии результативного признака у характеризует коэффициент (индекс) детерминации R 2 :

Коэффициент детерминации – квадрат коэффициента или индекса корреляции.

F -тест – оценивание качества уравнения регрессии – состоит в проверке гипотезы Но о статистической незначимости уравнения регрессии и показателя тесноты связи. Для этого выполняется сравнение фактического Fфакт и критического (табличного) Fтабл значений F -критерия Фишера. F факт определяется из соотношения значений факторной и остаточной дисперсий, рассчитанных на одну степень свободы:

п – число единиц совокупности;

т – число параметров при переменных х.

Fтабл – это максимально возможное значение критерия под влиянием случайных факторов при данных степенях свободы и уровне значимости а. Уровень значимости а – вероятность отвергнуть правильную гипотезу при условии, что она верна. Обычно а принимается равной 0,05 или 0,01.

Если Fтабл Fфакт , то гипотеза Н0 не отклоняется и признается статистическая незначимость, ненадежность уравнения регрессии.

Для оценки статистической значимости коэффициентов регрессии и корреляции рассчитываются t -критерий Стьюдента и доверительные интервалы каждого из показателей. Выдвигается гипотеза Н0 о случайной природе показателей, т.е. о незначимом их отличии от нуля. Оценка значимости коэффициентов регрессии и корреляции с помощью f-критерия Стьюдента проводится путем сопоставления их значений с величиной случайной ошибки:

Случайные ошибки параметров линейной регрессии и коэффициента корреляции определяются по формулам:

Сравнивая фактическое и критическое (табличное) значения t-статистики – tтабл и tфакт – принимаем или отвергаем гипотезу Hо .

Связь между F-критерием Фишера и t-статистикой Стьюдента выражается равенством

Если tтабл tфакт , то гипотеза Но не отклоняется и признается случайная природа формирования a , b или .

Для расчета доверительного интервала определяем предельную ошибку ∆ для каждого показателя:

Формулы для расчета доверительных интервалов имеют следующий вид:

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

Прогнозное значение определяется путем подстановки в уравнение регрессии соответствующего (прогнозного) значения . Вычисляется средняя стандартная ошибка прогноза :

где

и строится доверительный интервал прогноза:

где

По 22 регионам страны изучается зависимость розничной продажи телевизоров, y от среднедушевых денежных доходов в месяц, x (табл. 1):

Название: Парная регрессия
Раздел: Рефераты по математике
Тип: контрольная работа Добавлен 13:41:57 15 апреля 2011 Похожие работы
Просмотров: 3780 Комментариев: 22 Оценило: 4 человек Средний балл: 4.5 Оценка: неизвестно Скачать
№ региона X Y
1,000 2,800 28,000
2,000 2,400 21,300
3,000 2,100 21,000
4,000 2,600 23,300
5,000 1,700 15,800
6,000 2,500 21,900
7,000 2,400 20,000
8,000 2,600 22,000
9,000 2,800 23,900
10,000 2,600 26,000
11,000 2,600 24,600
12,000 2,500 21,000
13,000 2,900 27,000
14,000 2,600 21,000
15,000 2,200 24,000
16,000 2,600 34,000
17,000 3,300 31,900
19,000 3,900 33,000
20,000 4,600 35,400
21,000 3,700 34,000
22,000 3,400 31,000

1. Постройте поле корреляции и сформулируйте гипотезу о форме связи.

2. Рассчитайте параметры уравнений линейной, степенной, экспоненциальной, полулогарифмической, обратной, гиперболической парной регрессий.

3. Оцените тесноту связи с помощью показателей корреляции и детерминации.

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

5. Качество уравнений оцените с помощью средней ошибки аппроксимации.

6. С помощью F-критерия Фишера определите статистическую надежность результатов регрессионного моделирования. Выберите лучшее уравнение регрессии и дайте его обоснование.

7. Рассчитайте прогнозное значение результата по линейному уравнению регрессии, если прогнозное значение фактора увеличится на 7% от его среднего уровня. Определите доверительный интервал прогноза для уровня значимости α=0,05.

8. Оцените полученные результаты, выводы оформите в аналитической записке.

1. Поле корреляции для:

· Линейной регрессии y=a+b*x:

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

· Степенной регрессии :

Гипотеза о форме связи : степенная функция имеет вид Y=ax b .

Параметр b степенного уравнения называется показателем эластичности и указывает, на сколько процентов изменится у при возрастании х на 1%. При х = 1 a = Y.

· Экспоненциальная регрессия :

· Равносторонняя гипербола :

Гипотеза о форме связи: В ряде случаев обратная связь между факторным и результативным признаками может быть выражена уравнением гиперболы: Y=a+b/x.

· Обратная гипербола :

· Полулогарифмическая регрессия :

2. Рассчитайте параметры уравнений линейной, степенной, экспоненциальной, полулогарифмической, обратной, гиперболической парной регрессий.

· Рассчитаем параметры уравнений линейной парной регрессии. Для расчета параметров a и b линейной регрессии y=a+b*x решаем систему нормальных уравнений относительно a и b:

По исходным данным рассчитываем ∑y, ∑x, ∑yx, ∑x 2 , ∑y 2 (табл. 2):

№ региона X Y XY X^2 Y^2 Y^cp Y-Y^cp Ai
1 2,800 28,000 78,400 7,840 784,000 25,719 2,281 0,081
2 2,400 21,300 51,120 5,760 453,690 22,870 -1,570 0,074
3 2,100 21,000 44,100 4,410 441,000 20,734 0,266 0,013
4 2,600 23,300 60,580 6,760 542,890 24,295 -0,995 0,043
5 1,700 15,800 26,860 2,890 249,640 17,885 -2,085 0,132
6 2,500 21,900 54,750 6,250 479,610 23,582 -1,682 0,077
7 2,400 20,000 48,000 5,760 400,000 22,870 -2,870 0,144
8 2,600 22,000 57,200 6,760 484,000 24,295 -2,295 0,104
9 2,800 23,900 66,920 7,840 571,210 25,719 -1,819 0,076
10 2,600 26,000 67,600 6,760 676,000 24,295 1,705 0,066
11 2,600 24,600 63,960 6,760 605,160 24,295 0,305 0,012
12 2,500 21,000 52,500 6,250 441,000 23,582 -2,582 0,123
13 2,900 27,000 78,300 8,410 729,000 26,431 0,569 0,021
14 2,600 21,000 54,600 6,760 441,000 24,295 -3,295 0,157
15 2,200 24,000 52,800 4,840 576,000 21,446 2,554 0,106
16 2,600 34,000 88,400 6,760 1156,000 24,295 9,705 0,285
17 3,300 31,900 105,270 10,890 1017,610 29,280 2,620 0,082
19 3,900 33,000 128,700 15,210 1089,000 33,553 -0,553 0,017
20 4,600 35,400 162,840 21,160 1253,160 38,539 -3,139 0,089
21 3,700 34,000 125,800 13,690 1156,000 32,129 1,871 0,055
22 3,400 31,000 105,400 11,560 961,000 29,992 1,008 0,033
Итого 58,800 540,100 1574,100 173,320 14506,970 540,100 0,000
сред значение 2,800 25,719 74,957 8,253 690,808 0,085
станд. откл 0,643 5,417

Система нормальных уравнений составит:

Ур-ие регрессии: = 5,777+7,122∙x. Данное уравнение показывает, что с увеличением среднедушевого денежного дохода в месяц на 1 тыс. руб. доля розничных продаж телевизоров повышается в среднем на 7,12%.

· Рассчитаем параметры уравнений степенной парной регрессии. Построению степенной модели предшествует процедура линеаризации переменных. В примере линеаризация производится путем логарифмирования обеих частей уравнения:

где

Для расчетов используем данные табл. 3:

№ рег X Y XY X^2 Y^2 Yp^cp y^cp
1 1,030 3,332 3,431 1,060 11,104 3,245 25,67072
2 0,875 3,059 2,678 0,766 9,356 3,116 22,56102
3 0,742 3,045 2,259 0,550 9,269 3,004 20,17348
4 0,956 3,148 3,008 0,913 9,913 3,183 24,12559
5 0,531 2,760 1,465 0,282 7,618 2,827 16,90081
6 0,916 3,086 2,828 0,840 9,526 3,150 23,34585
7 0,875 2,996 2,623 0,766 8,974 3,116 22,56102
8 0,956 3,091 2,954 0,913 9,555 3,183 24,12559
9 1,030 3,174 3,268 1,060 10,074 3,245 25,67072
10 0,956 3,258 3,113 0,913 10,615 3,183 24,12559
11 0,956 3,203 3,060 0,913 10,258 3,183 24,12559
12 0,916 3,045 2,790 0,840 9,269 3,150 23,34585
13 1,065 3,296 3,509 1,134 10,863 3,275 26,4365
14 0,956 3,045 2,909 0,913 9,269 3,183 24,12559
15 0,788 3,178 2,506 0,622 10,100 3,043 20,97512
16 0,956 3,526 3,369 0,913 12,435 3,183 24,12559
17 1,194 3,463 4,134 1,425 11,990 3,383 29,4585
19 1,361 3,497 4,759 1,852 12,226 3,523 33,88317
20 1,526 3,567 5,443 2,329 12,721 3,661 38,90802
21 1,308 3,526 4,614 1,712 12,435 3,479 32,42145
22 1,224 3,434 4,202 1,498 11,792 3,408 30,20445
итого 21,115 67,727 68,921 22,214 219,361 67,727 537,270
сред зн 1,005 3,225 3,282 1,058 10,446 3,225
стан откл 0,216 0,211

Рассчитаем С и b:

Получим линейное уравнение: . Выполнив его потенцирование, получим:

Подставляя в данное уравнение фактические значения х, получаем теоретические значения результата y .

· Рассчитаем параметры уравнений экспоненциальной парной регрессии. Построению экспоненциальной модели предшествует процедура линеаризации переменных. В примере линеаризация производится путем логарифмирования обеих частей уравнения:

где

Для расчетов используем данные табл. 4:

№ региона X Y XY X^2 Y^2 Yp y^cp
1 2,800 3,332 9,330 7,840 11,104 3,225 25,156
2 2,400 3,059 7,341 5,760 9,356 3,116 22,552
3 2,100 3,045 6,393 4,410 9,269 3,034 20,777
4 2,600 3,148 8,186 6,760 9,913 3,170 23,818
5 1,700 2,760 4,692 2,890 7,618 2,925 18,625
6 2,500 3,086 7,716 6,250 9,526 3,143 23,176
7 2,400 2,996 7,190 5,760 8,974 3,116 22,552
8 2,600 3,091 8,037 6,760 9,555 3,170 23,818
9 2,800 3,174 8,887 7,840 10,074 3,225 25,156
10 2,600 3,258 8,471 6,760 10,615 3,170 23,818
11 2,600 3,203 8,327 6,760 10,258 3,170 23,818
12 2,500 3,045 7,611 6,250 9,269 3,143 23,176
13 2,900 3,296 9,558 8,410 10,863 3,252 25,853
14 2,600 3,045 7,916 6,760 9,269 3,170 23,818
15 2,200 3,178 6,992 4,840 10,100 3,061 21,352
16 2,600 3,526 9,169 6,760 12,435 3,170 23,818
17 3,300 3,463 11,427 10,890 11,990 3,362 28,839
19 3,900 3,497 13,636 15,210 12,226 3,526 33,978
20 4,600 3,567 16,407 21,160 12,721 3,717 41,140
21 3,700 3,526 13,048 13,690 12,435 3,471 32,170
22 3,400 3,434 11,676 11,560 11,792 3,389 29,638
Итого 58,800 67,727 192,008 173,320 219,361 67,727 537,053
сред зн 2,800 3,225 9,143 8,253 10,446
стан откл 0,643 0,211

Рассчитаем С и b:

Получим линейное уравнение: . Выполнив его потенцирование, получим:

Для расчета теоретических значений y подставим в уравнение значения x .

· Рассчитаем параметры уравнений полулогарифмической парной регрессии. Построению полулогарифмической модели предшествует процедура линеаризации переменных. В примере линеаризация производится путем замены:

где

Для расчетов используем данные табл. 5:

№ региона X Y XY X^2 Y^2 y^cp
1 1,030 28,000 28,829 1,060 784,000 26,238
2 0,875 21,300 18,647 0,766 453,690 22,928
3 0,742 21,000 15,581 0,550 441,000 20,062
4 0,956 23,300 22,263 0,913 542,890 24,647
5 0,531 15,800 8,384 0,282 249,640 15,525
6 0,916 21,900 20,067 0,840 479,610 23,805
7 0,875 20,000 17,509 0,766 400,000 22,928
8 0,956 22,000 21,021 0,913 484,000 24,647
9 1,030 23,900 24,608 1,060 571,210 26,238
10 0,956 26,000 24,843 0,913 676,000 24,647
11 0,956 24,600 23,506 0,913 605,160 24,647
12 0,916 21,000 19,242 0,840 441,000 23,805
13 1,065 27,000 28,747 1,134 729,000 26,991
14 0,956 21,000 20,066 0,913 441,000 24,647
15 0,788 24,000 18,923 0,622 576,000 21,060
16 0,956 34,000 32,487 0,913 1156,000 24,647
17 1,194 31,900 38,086 1,425 1017,610 29,765
19 1,361 33,000 44,912 1,852 1089,000 33,351
20 1,526 35,400 54,022 2,329 1253,160 36,895
21 1,308 34,000 44,483 1,712 1156,000 32,221
22 1,224 31,000 37,937 1,498 961,000 30,406
Итого 21,115 540,100 564,166 22,214 14506,970 540,100
сред зн 1,005 25,719 26,865 1,058 690,808
стан откл 0,216 5,417

Рассчитаем a и b:

Получим линейное уравнение: .

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

Для расчетов используем данные табл. 6:

№ региона X Y XY X^2 Y^2 Y^cp
1 2,800 0,036 0,100 7,840 0,001 24,605
2 2,400 0,047 0,113 5,760 0,002 22,230
3 2,100 0,048 0,100 4,410 0,002 20,729
4 2,600 0,043 0,112 6,760 0,002 23,357
5 1,700 0,063 0,108 2,890 0,004 19,017
6 2,500 0,046 0,114 6,250 0,002 22,780
7 2,400 0,050 0,120 5,760 0,003 22,230
8 2,600 0,045 0,118 6,760 0,002 23,357
9 2,800 0,042 0,117 7,840 0,002 24,605
10 2,600 0,038 0,100 6,760 0,001 23,357
11 2,600 0,041 0,106 6,760 0,002 23,357
12 2,500 0,048 0,119 6,250 0,002 22,780
13 2,900 0,037 0,107 8,410 0,001 25,280
14 2,600 0,048 0,124 6,760 0,002 23,357
15 2,200 0,042 0,092 4,840 0,002 21,206
16 2,600 0,029 0,076 6,760 0,001 23,357
17 3,300 0,031 0,103 10,890 0,001 28,398
19 3,900 0,030 0,118 15,210 0,001 34,844
20 4,600 0,028 0,130 21,160 0,001 47,393
21 3,700 0,029 0,109 13,690 0,001 32,393
22 3,400 0,032 0,110 11,560 0,001 29,301
Итого 58,800 0,853 2,296 173,320 0,036 537,933
сред знач 2,800 0,041 0,109 8,253 0,002
стан отклон 0,643 0,009

Рассчитаем a и b:

Получим линейное уравнение: . Выполнив его потенцирование, получим:

Для расчета теоретических значений y подставим в уравнение значения x .

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

Для расчетов используем данные табл. 7:

№ региона X=1/z Y XY X^2 Y^2 Y^cp
1 0,357 28,000 10,000 0,128 784,000 26,715
2 0,417 21,300 8,875 0,174 453,690 23,259
3 0,476 21,000 10,000 0,227 441,000 19,804
4 0,385 23,300 8,962 0,148 542,890 25,120
5 0,588 15,800 9,294 0,346 249,640 13,298
6 0,400 21,900 8,760 0,160 479,610 24,227
7 0,417 20,000 8,333 0,174 400,000 23,259
8 0,385 22,000 8,462 0,148 484,000 25,120
9 0,357 23,900 8,536 0,128 571,210 26,715
10 0,385 26,000 10,000 0,148 676,000 25,120
11 0,385 24,600 9,462 0,148 605,160 25,120
12 0,400 21,000 8,400 0,160 441,000 24,227
13 0,345 27,000 9,310 0,119 729,000 27,430
14 0,385 21,000 8,077 0,148 441,000 25,120
15 0,455 24,000 10,909 0,207 576,000 21,060
16 0,385 34,000 13,077 0,148 1156,000 25,120
17 0,303 31,900 9,667 0,092 1017,610 29,857
19 0,256 33,000 8,462 0,066 1089,000 32,564
20 0,217 35,400 7,696 0,047 1253,160 34,829
21 0,270 34,000 9,189 0,073 1156,000 31,759
22 0,294 31,000 9,118 0,087 961,000 30,374
Итого 7,860 540,100 194,587 3,073 14506,970 540,100
сред знач 0,374 25,719 9,266 0,146 1318,815
стан отклон 0,079 25,639

Рассчитаем a и b:

Получим линейное уравнение: . Получим уравнение регрессии: .

3. Оценка тесноты связи с помощью показателей корреляции и детерминации :

· Линейная модель. Тесноту линейной связи оценит коэффициент корреляции. Был получен следующий коэффициент корреляции rxy =b=7,122*, что говорит о прямой сильной связи фактора и результата. Коэффициент детерминации r²xy =(0,845)²=0,715. Это означает, что 71,5% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

· Степенная модель. Тесноту нелинейной связи оценит индекс корреляции. Был получен следующий индекс корреляции =, что говорит о очень сильной тесной связи, но немного больше чем в линейной модели. Коэффициент детерминации r²xy =0,7175. Это означает, что 71,75% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

· Экспоненциальная модель. Был получен следующий индекс корреляции ρxy =0,8124, что говорит о том, что связь прямая и очень сильная, но немного слабее, чем в линейной и степенной моделях. Коэффициент детерминации r²xy =0,66. Это означает, что 66% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

· Полулогарифмическая модель. Был получен следующий индекс корреляции ρxy =0,8578, что говорит о том, что связь прямая и очень сильная, но немного больше чем в предыдущих моделях. Коэффициент детерминации r²xy =0,7358. Это означает, что 73,58% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

· Гиперболическая модель. Был получен следующий индекс корреляции ρxy =0,8448 и коэффициент корреляции rxy =-0,1784 что говорит о том, что связь обратная очень сильная. Коэффициент детерминации r²xy =0,7358. Это означает, что 73,5% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

· Обратная модель. Был получен следующий индекс корреляции ρxy =0,8114 и коэффициент корреляции rxy =-0,8120, что говорит о том, что связь обратная очень сильная. Коэффициент детерминации r²xy =0,6584. Это означает, что 65,84% вариации результативного признака (розничнаяпродажа телевизоров, у) объясняется вариацией фактора х – среднедушевой денежный доход в месяц.

Вывод: по полулогарифмическому уравнению получена наибольшая оценка тесноты связи: ρxy =0,8578 (по сравнению с линейной, степенной, экспоненциальной, гиперболической, обратной регрессиями).

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

Рассчитаем коэффициент эластичности для линейной модели:

· Для уравнения прямой:y = 5,777+7,122∙x

· Для уравнениястепенноймодели :

· Для уравненияэкспоненциальноймодели :

Для уравненияполулогарифмическоймодели :

· Для уравнения обратной гиперболической модели :

· Для уравнения равносторонней гиперболической модели :

Сравнивая значения , характеризуем оценку силы связи фактора с результатом:

·

·

·

·

·

·

Известно, что коэффициент эластичности показывает связь между фактором и результатом, т.е. на сколько% изменится результат y от своей средней величины при изменении фактора х на 1% от своего среднего значения. В данном примере получилось, что самая большая сила связи между фактором и результатом в полулогарифмической модели, слабая сила связи в обратной гиперболической модели.

5. Оценка качества уравнений с помощью средней ошибки аппроксимации.

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

В среднем расчетные значения отклоняются от фактических на:

· Линейная регрессия. =*100%= 8,5%, что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

· Степенная регрессия. =*100%= 8,2%, что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

· Экспоненциальная регрессия. =*100%= 9%, что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

· Полулогарифмическая регрессия. =*100%= 7,9 что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

· Гиперболическая регрессия. =*100%= 9,3 что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

· Обратная регрессия. =*100%= 9,9 3 что говорит о повышенной ошибке аппроксимации, но в допустимых пределах.

Качество построенной модели оценивается как хорошее, так как не превышает 8 -10%.

6. Рассчитаем F-критерий:

· Линейная регрессия. = *19= 47,579

источники:

http://welom.ru/srednyaya-oshibka-approksimacii-v-excel-ocenka-kachestva-uravneniya/

http://www.bestreferat.ru/referat-268496.html

Содержание

  • Выполнение аппроксимации
    • Способ 1: линейное сглаживание
    • Способ 2: экспоненциальная аппроксимация
    • Способ 3: логарифмическое сглаживание
    • Способ 4: полиномиальное сглаживание
    • Способ 5: степенное сглаживание
  • Вопросы и ответы

Аппроксимация в Microsoft Excel

Среди различных методов прогнозирования нельзя не выделить аппроксимацию. С её помощью можно производить приблизительные подсчеты и вычислять планируемые показатели, путем замены исходных объектов на более простые. В Экселе тоже существует возможность использования данного метода для прогнозирования и анализа. Давайте рассмотрим, как этот метод можно применить в указанной программе встроенными инструментами.

Выполнение аппроксимации

Наименование данного метода происходит от латинского слова proxima – «ближайшая» Именно приближение путем упрощения и сглаживания известных показателей, выстраивание их в тенденцию и является его основой. Но данный метод можно использовать не только для прогнозирования, но и для исследования уже имеющихся результатов. Ведь аппроксимация является, по сути, упрощением исходных данных, а упрощенный вариант исследовать легче.

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

Но она может быть построена с применением одного из пяти видов аппроксимации:

  • Линейной;
  • Экспоненциальной;
  • Логарифмической;
  • Полиномиальной;
  • Степенной.

Рассмотрим каждый из вариантов более подробно в отдельности.

Урок: Как построить линию тренда в Excel

Способ 1: линейное сглаживание

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

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

  1. Для построения графика, прежде всего, выделяем столбцы «Себестоимость единицы продукции» и «Прибыль». После этого перемещаемся во вкладку «Вставка». Далее на ленте в блоке инструментов «Диаграммы» щелкаем по кнопке «Точечная». В открывшемся списке выбираем наименование «Точечная с гладкими кривыми и маркерами». Именно данный вид диаграмм наиболее подходит для работы с линией тренда, а значит, и для применения метода аппроксимации в Excel.
  2. Построение диаграммы в Microsoft Excel

  3. График построен.
  4. График построен в Microsoft Excel

  5. Для добавления линии тренда выделяем его кликом правой кнопки мыши. Появляется контекстное меню. Выбираем в нем пункт «Добавить линию тренда…».
    Добавление линии тренда через контекстное меню в Microsoft Excel

    Существует ещё один вариант её добавления. В дополнительной группе вкладок на ленте «Работа с диаграммами» перемещаемся во вкладку «Макет». Далее в блоке инструментов «Анализ» щелкаем по кнопке «Линия тренда». Открывается список. Так как нам нужно применить линейную аппроксимацию, то из представленных позиций выбираем «Линейное приближение».

  6. Добавление линии тренда через блок инструментов на ленте в Microsoft Excel

  7. Если же вы выбрали все-таки первый вариант действий с добавлением через контекстное меню, то откроется окно формата.

    В блоке параметров «Построение линии тренда (аппроксимация и сглаживание)» устанавливаем переключатель в позицию «Линейная».
    При желании можно установить галочку около позиции «Показывать уравнение на диаграмме». После этого на диаграмме будет отображаться уравнение сглаживающей функции.

    Также в нашем случае для сравнения различных вариантов аппроксимации важно установить галочку около пункта «Поместить на диаграмму величину достоверной аппроксимации (R^2)». Данный показатель может варьироваться от 0 до 1. Чем он выше, тем аппроксимация качественнее (достовернее). Считается, что при величине данного показателя 0,85 и выше сглаживание можно считать достоверным, а если показатель ниже, то – нет.

    Lumpics.ru

    После того, как провели все вышеуказанные настройки. Жмем на кнопку «Закрыть», размещенную в нижней части окна.

  8. Включение линейной аппроксимации в Microsoft Excel

  9. Как видим, на графике линия тренда построена. При линейной аппроксимации она обозначается черной прямой полосой. Указанный вид сглаживания можно применять в наиболее простых случаях, когда данные изменяются довольно быстро и зависимость значения функции от аргумента очевидна.

Линия тренда построена с помощью линейной аппроксимации в Microsoft Excel

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

y=ax+b

В конкретно нашем случае формула принимает такой вид:

y=-0,1156x+72,255

Величина достоверности аппроксимации у нас равна 0,9418, что является довольно приемлемым итогом, характеризующим сглаживание, как достоверное.

Способ 2: экспоненциальная аппроксимация

Теперь давайте рассмотрим экспоненциальный тип аппроксимации в Эксель.

  1. Для того, чтобы изменить тип линии тренда, выделяем её кликом правой кнопки мыши и в раскрывшемся меню выбираем пункт «Формат линии тренда…».
  2. Переход в формат лини тренда в Microsoft Excel

  3. После этого запускается уже знакомое нам окно формата. В блоке выбора типа аппроксимации устанавливаем переключатель в положение «Экспоненциальная». Остальные настройки оставим такими же, как и в первом случае. Щелкаем по кнопке «Закрыть».
  4. Построение экспоненциальной линии тренда в Microsoft Excel

  5. После этого линия тренда будет построена на графике. Как видим, при использовании данного метода она имеет несколько изогнутую форму. При этом уровень достоверности равен 0,9592, что выше, чем при использовании линейной аппроксимации. Экспоненциальный метод лучше всего использовать в том случае, когда сначала значения быстро изменяются, а потом принимают сбалансированную форму.

Экспоненциальная линия тренда построена в Microsoft Excel

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

y=be^x

где e – это основание натурального логарифма.

В конкретно нашем случае формула приняла следующую форму:

y=6282,7*e^(-0,012*x)

Способ 3: логарифмическое сглаживание

Теперь настала очередь рассмотреть метод логарифмической аппроксимации.

  1. Тем же способом, что и в предыдущий раз через контекстное меню запускаем окно формата линии тренда. Устанавливаем переключатель в позицию «Логарифмическая» и жмем на кнопку «Закрыть».
  2. Включение логарифмической аппроксимации в Microsoft Excel

  3. Происходит процедура построения линии тренда с логарифмической аппроксимацией. Как и в предыдущем случае, такой вариант лучше использовать тогда, когда изначально данные быстро изменяются, а потом принимают сбалансированный вид. Как видим, уровень достоверности равен 0,946. Это выше, чем при использовании линейного метода, но ниже, чем качество линии тренда при экспоненциальном сглаживании.

Логарифмическая линия тренда построена в Microsoft Excel

В общем виде формула сглаживания выглядит так:

y=a*ln(x)+b

где ln – это величина натурального логарифма. Отсюда и наименование метода.

В нашем случае формула принимает следующий вид:

y=-62,81ln(x)+404,96

Способ 4: полиномиальное сглаживание

Настал черед рассмотреть метод полиномиального сглаживания.

  1. Переходим в окно формата линии тренда, как уже делали не раз. В блоке «Построение линии тренда» устанавливаем переключатель в позицию «Полиномиальная». Справа от данного пункта расположено поле «Степень». При выборе значения «Полиномиальная» оно становится активным. Здесь можно указать любое степенное значение от 2 (установлено по умолчанию) до 6. Данный показатель определяет число максимумов и минимумов функции. При установке полинома второй степени описывается только один максимум, а при установке полинома шестой степени может быть описано до пяти максимумов. Для начала оставим настройки по умолчанию, то есть, укажем вторую степень. Остальные настройки оставляем такими же, какими мы выставляли их в предыдущих способах. Жмем на кнопку «Закрыть».
  2. Включение полиномиальной аппроксимации в Microsoft Excel

  3. Линия тренда с использованием данного метода построена. Как видим, она ещё более изогнута, чем при использовании экспоненциальной аппроксимации. Уровень достоверности выше, чем при любом из использованных ранее способов, и составляет 0,9724.
    Полиномиальная линия тренда в Microsoft Excel

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

    y=a1+a1*x+a2*x^2+…+an*x^n

    В нашем случае формула приняла такой вид:

    y=0,0015*x^2-1,7202*x+507,01

  4. Теперь давайте изменим степень полиномов, чтобы увидеть, будет ли отличаться результат. Возвращаемся в окно формата. Тип аппроксимации оставляем полиномиальным, но напротив него в окне степени устанавливаем максимально возможное значение – 6.
  5. Включение полиномиальной аппроксимации в шестой степени в Microsoft Excel

  6. Как видим, после этого наша линия тренда приняла форму ярко выраженной кривой, у которой число максимумов равно шести. Уровень достоверности повысился ещё больше, составив 0,9844.

Полиномиальная линия тренда в шестой степени в Microsoft Excel

Формула, которая описывает данный тип сглаживания, приняла следующий вид:

y=8E-08x^6-0,0003x^5+0,3725x^4-269,33x^3+109525x^2-2E+07x+2E+09

Способ 5: степенное сглаживание

В завершении рассмотрим метод степенной аппроксимации в Excel.

  1. Перемещаемся в окно «Формат линии тренда». Устанавливаем переключатель вида сглаживания в позицию «Степенная». Показ уравнения и уровня достоверности, как всегда, оставляем включенными. Жмем на кнопку «Закрыть».
  2. Полиномиальная линия тренда в шестой степени в Microsoft Excel

  3. Программа формирует линию тренда. Как видим, в нашем случае она представляет собой линию с небольшим изгибом. Уровень достоверности равен 0,9618, что является довольно высоким показателем. Из всех вышеописанных способов уровень достоверности был выше только при использовании полиномиального метода.

Степенная линия тренда построена в Microsoft Excel

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

Общая формула, описывающая данный метод имеет такой вид:

y=bx^n

В конкретно нашем случае она выглядит так:

y = 6E+18x^(-6,512)

Как видим, при использовании конкретных данных, которые мы применяли для примера, наибольший уровень достоверности показал метод полиномиальной аппроксимации с полиномом в шестой степени (0,9844), наименьший уровень достоверности у линейного метода (0,9418). Но это совсем не значит, что такая же тенденция будет при использовании других примеров. Нет, уровень эффективности у приведенных выше методов может значительно отличаться, в зависимости от конкретного вида функции, для которой будет строиться линия тренда. Поэтому, если для этой функции выбранный метод наиболее эффективен, то это совсем не означает, что он также будет оптимальным и в другой ситуации.

Если вы пока не можете сразу определить, основываясь на вышеприведенных рекомендациях, какой вид аппроксимации подойдет конкретно в вашем случае, то есть смысл попробовать все методы. После построения линии тренда и просмотра её уровня достоверности можно будет выбрать оптимальный вариант.

 

Уважаемые сопланетники!

Столкнулся с проблемой, прошу помочь.

Для аппроксимации передаточной характеристики измерительных приборов часто используют полином. С точки зрения электроники — это очень удобный способ, требующий от МК относительно мало ресурсов и предоставляющий очень хорошую точность.

Для получения коэффициентов однофакторного полинома я традиционно использовал встроенную в Excel функцию ЛИНЕЙН. Однако в имеющейся в данный момент задаче выяснилось, что погрешность аппроксимации этим способом очень высока, — значительно выше, чем при использовании математических пакетов или линии тренда графика в Excel.

Предположив, что проблема в некорректном использовании функции ЛИНЕЙН, перешерстил интернет, пробовал сторонние файлы. Оказалось, проблема известная, и связана она с алгоритмом работы этой функции (подробности я не понял, в математике не очень).

Я взял одну и ту же выборку и сравнил четыре способа получения коэффициентов:
1. с использованием ЛИНЕЙН
2. с помощью утилиты Agraph
3. построением линии тренда на графике Excel
4. с помощью функций polyfit/polyval в Octave


Выяснилось, что на большой выборке (13 точек по 600 измерений в каждой)

первый способ (ЛИНЕЙН) даёт примерно в 1,5…2 раза бОльшую погрешность, чем другие

.


При меньшей выборке (13 точек по 5 в каждой, итого 65 точек) ещё интереснее:

и

ЛИНЕЙН

, и

Agraph

дают погрешность

в 4 раза больше

, чем два последних

.
Agraph имеет ещё два недостатка — максимальное количество обрабатываемых точек — 5000, а количество значащих цифр в коэффициентах — не более 9.



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

Хотелось бы все действия максимально автоматизировать и привязать к Excel. Возможно, можно как-то исхитриться и заставить ЛИНЕЙН работать по другому?
Или есть способ (может, с помощью VBA) автоматически выдернуть коэффициенты из линии тренда?
Попадались в сети фрагменты VBA для вычисления коэффициентов, но тоже приемлемого ничего не подобрал…

p.s. Движок запрещает грузить файлы свыше 100к, поэтому нарезал скринов.

 

МатросНаЗебре

Пользователь

Сообщений: 5516
Регистрация: 05.02.2014

#2

03.12.2021 14:29:35

Коэффициенты можно найти формулами:

Код
=(СЧЁТ(A1:A3)*СУММПРОИЗВ(A1:A3;B1:B3)-СУММ(A1:A3)*СУММ(B1:B3))/(СЧЁТ(A1:A3)*СУММПРОИЗВ(A1:A3;A1:A3)-СУММ(A1:A3)*СУММ(A1:A3))
=(СУММ(B1:B3)-(СЧЁТ(A1:A3)*СУММПРОИЗВ(A1:A3;B1:B3)-СУММ(A1:A3)*СУММ(B1:B3))/(СЧЁТ(A1:A3)*СУММПРОИЗВ(A1:A3;A1:A3)-СУММ(A1:A3)*СУММ(A1:A3))*СУММ(A1:A3))/СЧЁТ(A1:A3)

И через VBA.

Код
Function МЛИНЕЙН(известные_значения_y As Range, известные_значения_x As Range) As Variant
    Dim xrr As Variant
    Dim yrr As Variant
    xrr = известные_значения_x
    yrr = известные_значения_y
    Dim nn As Long
    nn = известные_значения_y.Cells.Count
    Dim x As Double
    Dim y As Double
    Dim xx As Double
    Dim xy As Double
    
    Dim i As Long
    For i = 1 To nn
        x = x + xrr(i, 1)
        y = y + yrr(i, 1)
        xy = xy + xrr(i, 1) * yrr(i, 1)
        xx = xx + xrr(i, 1) * xrr(i, 1)
    Next
    Dim aa As Double
    Dim bb As Double
    aa = (nn * xy - x * y) / (nn * xx - x * x)
    bb = (y - aa * x) / nn
    
    Dim arr As Variant
    ReDim arr(1 To 2)
    arr(1) = aa
    arr(2) = bb
    
    МЛИНЕЙН = arr
End Function

Изменено: МатросНаЗебре03.12.2021 15:02:39

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#3

03.12.2021 14:47:41

Цитата
Алексей Назаров написал:
Или есть способ (может, с помощью VBA) автоматически выдернуть коэффициенты из линии тренда?

Да, есть.

тут выкладывал решение

Код
' Проведение интерполяции с использованием функционала Excel
' На выходе - коэффициенты полинома. Число точек должно быть минимум на одну больше, чем степень полинома.
' Данные берутся из программы
Public Sub Linia_trenda(ByRef Y() As Double, ByRef X() As Double, ByVal PolyStep As Integer, ByRef c() As Double, Optional ByRef r2 As Double)
    Dim stepen As Long
    ' Ввожу проверку не превышения степени массива
    If (UBound(Y) - LBound(Y) - 1) < PolyStep Then
        stepen = UBound(Y) - LBound(Y)
    Else
        stepen = PolyStep
    End If
    ' Объявляю переменные, создаю матрицы под размер данных и степень полинома.
    Dim X1() As Double, y1() As Double
    ReDim X1(LBound(Y) To UBound(Y), 1 To stepen) As Double
    ReDim y1(LBound(Y) To UBound(Y), 1 To 1) As Double
    ReDim c(1 To stepen + 1) As Double
    ' Заполню массив Х в соответствии со степенью уравнения.
    For i = LBound(X) To UBound(X)
        y1(i, 1) = Y(i)
        X1(i, 1) = X(i)
        For N = 2 To stepen
            X1(i, N) = X1(i, 1) ^ N
        Next N
    Next i
    ' Нахожу уравнение.
    Dim Coefs As Variant
        Coefs = WorksheetFunction.LinEst(y1, X1, True, True)
    ' Вытаскиваю коэффициенты полинома.
    For i = 1 To stepen + 1
        c(i) = Coefs(1, i)
    Next i
    ' Вытаскиваю величину достоверности аппроксимации.
    r2 = Coefs(3, 1)
End Sub

Однако обратите внимание, что далеко не всегда коэфф-ты вытаскиваются верно. Я в практике с таким не сталкивался, но такое имеет место быть

Тут выкладывали проблему.

Поэтому в своих расчётах применяю кусочную интерполяцию…

Изменено: tutochkin03.12.2021 15:02:10
(очепятка)

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#4

07.12.2021 11:23:02

Благодарю за подсказки, пробую использовать.

На VBA не писал очень давно, попал в ступор.
Не могу передать массив в Linia_trenda.

Пытаюсь например, так, получаю ошибку:

Код
Public Sub Linia_START()

Dim myRangeX() As Double
Dim myRangeY() As Double
Dim myRangeC() As Double

myRangeX = Range("B4:B68") '.Value
myRangeY = Range("C4:C68") '.Value
myRangeC = Range("w5:w11") '.Value

Call Linia_trenda(myRangeY, myRangeX, 1, myRangeC)

End Sub

Чувствую, не учёл какую-то  мелочь, а сообразить не могу..

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#5

07.12.2021 13:06:23

Алексей Назаров,
А какая цель вообще? Получить уравнение линии тренда?

Код
' Программа формирования текста уравнения по всем точкам

Public Function Case_uravnenie(xVal As Range, yVal As Range, PolyStep As Long, _
                            Optional NameX As String = "X") As Variant
Dim j As Long
Dim N As Long
Dim k As Long
Dim stepen As Long
Dim xn() As Double    ' заявляем массив X
Dim yn() As Double    ' заявляем массив Y
Dim c() As Double    ' заявляем массив c - коэффециенты уравнения полинома


Case_uravnenie = "" & Chr(10)

Dim Nna4 As Long 'Номер начала диапазона.
Dim Nkon As Long 'Номер конца диапазона.

Nna4 = 1
Nkon = xVal.Count
' Проверяем на соответствие число элементов участка степени полинома
    If (Nkon - Nna4) < PolyStep Then
        stepen = (Nkon - Nna4)
    Else
        stepen = PolyStep
    End If
' Заполняем матрицы участка
    ReDim xn(1 To (Nkon - Nna4 + 1), 1 To stepen)
    ReDim yn(1 To (Nkon - Nna4 + 1), 1 To 1)
    ReDim c(1 To stepen + 1) As Double
    For j = 1 To (Nkon - Nna4 + 1)
        xn(j, 1) = xVal.Rows(j + Nna4 - 1)
        For N = 2 To stepen
            xn(j, N) = xn(j, 1) ^ N
        Next N
        yn(j, 1) = yVal.Rows(j + Nna4 - 1)
    Next j
' Делаем расчёт и вывод.
    For k = 1 To stepen + 1 Step 1
        c(k) = Format(Application.Index(WorksheetFunction.LinEst(yn, xn, True, True), 1, k), "0.####E+")
        
        If c(k) >= 0 And k > 1 Then
            Case_uravnenie = Case_uravnenie & " + " & c(k)
        Else
            Case_uravnenie = Case_uravnenie & c(k)
        End If
        
        If (stepen + 1 - k) > 0 Then
            Case_uravnenie = Case_uravnenie & " * " & NameX & " ^ " & (stepen + 1 - k) & " "
        End If
    Next k
   
Case_uravnenie = Case_uravnenie & Chr(10)
End Function

Изменено: tutochkin07.12.2021 13:07:24

 

Цель — получить коэффициенты аппроксимирующего полинома 5-6 порядка по исходной выборке, находящейся в книге Excel.
Без лишних танцев с бубном, свойственным известным мне надёжным методам, типа линии тренда или Октавы (перекодировки, замены символов, копипасты и т.п.).

Почему именно Excel — в ней я собираю данные с измерительных приборов (с помощью VBA), управляю внешними устройствами  (с помощью VBA же), обрабатываю полученные данные и т.п., и любой прыжок в сторону превращается в неудобный костыль…

И при экспериментах часто вариантов данных очень много, каждый нужно обработать, проверить и т.п.
Функция ЛИНЕЙН по удобству устраивала полностью, но, в определённый момент, перестала устраивать по точности.

Изменено: Алексей Назаров08.12.2021 10:17:38
(Орф. ошибки)

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#7

07.12.2021 13:54:31

Алексей Назаров, ну вытащить коэфф-ты из того что я выше привёл совсем не сложно — они там уже есть (матрица с). Однако они не будет отличаться от =ИНДЕКС(ЛИНЕЙН(F4:F13;E4:E13^{1;2;3;4;5;6});1;1) , проверено

Цитата
Алексей Назаров написал:
Функция ЛИНЕЙН по удобству устраивала полностью, но, в определённый момент, перестала устраивать по точности.

Понятие точности относительно. Вот на рисунке несколько видов интерполяции через одни и те-же опорные точки…. А какая разница в промежутках :) Выбирай на вкус.

Вот так выглядят вариации аппроксимации полиномами разных степеней одних и тех-же точек. А вы именно аппроксимацию хотите делать, как я понял…

Для себя пришёл к выводу, что кусочная интерполяция рулит. Но и тут есть подводные камни.
Как пример разница при интерполяции полиномом первой и второй степени… по одним и тем же опорным

А если просто посчитать, то (с) БМВ

Код
Public Function polinomEx(xVal As Range, yVal As Range, X As Single, stepen As Integer)
Dim I As Integer
Dim Seria
Seria = Array(1, 2, 3, 4, 5, 6, 7)
If stepen > 7 Then stepen = 7
If xVal.Count < stepen + 1 Then stepen = xVal.Count - 1
polinomEx = 0#
ReDim Preserve Seria(stepen - 1)
For I = 1 To stepen + 1
    polinomEx = polinomEx + _
    (X ^ (stepen + 1 - I)) * _
        Application.Index(WorksheetFunction.LinEst(yVal, _
        IIf(stepen = 1, xVal, Application.Power(xVal, Seria)), _
        True, True), 1, I)
Next I
End Function

Изменено: tutochkin07.12.2021 14:16:00

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#8

07.12.2021 13:58:25

Ага, уже что-то получается!
Большое спасибо!

На команду

Код
Range("w5:w11") = Case_uravnenie(Range("B4:B68"), Range("C4:C68"), 6)

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

    4,7737E-38 * X ^ 6 -5,455E-30 * X ^ 5    + 2,1638E-22 * X ^ 4 -3,0827E-15 * X ^ 3  + 0 * X ^ 2    + 0 * X ^ 1  + 5512600

Осталось «раздербанить» строку на составляющие, но есть одно большое НО: в результате всего 5 значащих цифр…..
Нужно не менее 9, лучше все 14..

Кроме того, значения коэффициентов отличаются… Теоретически, как здесь:

Завтра попробую копать LinEst

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#9

07.12.2021 15:01:02

Цитата
Алексей Назаров написал:
во всех ячейках диапазона полная формула

Так этот макрос и выводит полную формулу… Там же написано — «‘ Программа формирования текста уравнения по всем точкам»

Цитата
Алексей Назаров написал:
в результате всего 5 значащих цифр….

Так это в макросе и прописано… Format(Application.Index(WorksheetFunction.LinEst(yn, xn, True, True), 1, k), «0.####E+») увеличивайте, или вообще удалите.
Если нужны просто коэфф-ты (зачем?) то вот

Код
Public Function Koef(xVal As Range, yVal As Range, stepen As Integer)
Dim i As Integer
Dim Seria
Dim polinomEx() As Single
Seria = Array(1, 2, 3, 4, 5, 6, 7)
If stepen > 7 Then stepen = 7
If xVal.Count < stepen + 1 Then stepen = xVal.Count - 1
ReDim Preserve Seria(stepen - 1)
ReDim polinomEx(stepen)
For i = 1 To stepen + 1
    polinomEx(i - 1) = Application.Index(WorksheetFunction.LinEst(yVal, _
        IIf(stepen = 1, xVal, Application.Power(xVal, Seria)), _
        True, True), 1, i)
Next i

Koef = polinomEx
End Function

=ИНДЕКС(Koef($D$5:$D$12;$E$5:$E$12;6);1;G5) — вывод элементов
или
=ИНДЕКС(Koef2($D$5:$D$12;$E$5:$E$12;6);1;G5)
Но они не будут отличаться от того что выдаст
=ИНДЕКС(ЛИНЕЙН($E$5:$E$12;$D$5:$D$12^{1;2;3;4;5;6});1;G5)

Код
Public Function Koef2(Xish As Variant, Yish As Variant, ByRef stepen As Variant)
Dim c() As Double
Dim X() As Double
Dim Y() As Double
ReDim c(1 To stepen + 1)
Подготовка_данных Xish, Yish, X, Y
Linia_trenda Y, X, stepen, c
Koef2 = c
End Function
Код
' Подпрограмма переопределения значений исходных данных
Function Подготовка_данных(Xvh As Variant, Yvh As Variant, _
                           Xvih() As Double, Yvih() As Double) As Variant
    
    Dim NumYRows As Long, i As Long
    If TypeName(Xvh) = "Range" Then
    ' Если данные взяты с листа эксель
        Xvh = Xvh.Value2
        Yvh = Yvh.Value2
        NumXRows = UBound(Xvh)
        NumYRows = UBound(Yvh)
    
        ReDim Xvih(0 To NumXRows - 1)
        ReDim Yvih(0 To NumXRows - 1)
    
        For i = 1 To NumXRows
            Xvih(i - 1) = Xvh(i, 1)
            Yvih(i - 1) = Yvh(i, 1)
        Next i
    
    Else
    ' Если данные переданы из функции
        NumXRows = UBound(Xvh) + 1
        NumYRows = UBound(Yvh) + 1
        
        ReDim Xvih(0 To NumXRows - 1)
        ReDim Yvih(0 To NumXRows - 1)

        For i = 0 To NumXRows - 1
            Xvih(i) = Xvh(i)
            Yvih(i) = Yvh(i)
        Next i
    End If
End Function
Цитата
Алексей Назаров написал:
Кроме того, значения коэффициентов отличаются…

Да, это известная проблема при больших Х.

Изменено: tutochkin07.12.2021 15:17:32

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#10

08.12.2021 09:48:48

Цитата
Так этот макрос и выводит полную формулу… Там же написано — «‘ Программа формирования текста уравнения по всем точкам»

Какой инженер читает инструкции? )))
Я не обратил внимания на эти строки, поэтому удивился.
Но это не особая проблема, распотрошить текстовую строку по составляющим — дело техники.

Цитата
Так это в макросе и прописано… Format(Application.Index(WorksheetFunction.LinEst(yn, xn, True, True), 1, k), «0.####E+») увеличивайте, или вообще удалите.

Да, благодарю, разрядность получил.

Цитата
Если нужны просто коэфф-ты (зачем?) то вот

Сейчас попробую

Цитата
Но они не будут отличаться от того что выдаст  =ИНДЕКС(ЛИНЕЙН($E$5:$E$12;$D$5:$D$12^{1;2;3;4;5;6});1;G5)

К сожалению….  :cry:

В самом первом сообщении в этой ветке я постарался подробно расписать, почему именно меня не удовлетворяют коэффициенты, полученные функцией ЛИНЕЙН.
Коэффициенты из Октавы оказываются значительно лучше! (в том смысле, что отличие любой точки аппроксимированной кривой от экспериментальных данных получается существенно меньше).
И меня очень поразило, что коэффициенты линии тренда в Excel почти совпадают с коэффициентами из Октавы (а при больших выборках и с коэффициентами AGraphe), и линии погрешности этих способов практически совпадают, обеспечивая очень хорошие результаты!! Значительно лучше, чем ЛИНЕЙН.

И цель этой ветки была следующей:
Если в Excel уже есть механизм расчета «хороших» коэффициентов (линия тренда), то нужно попытаться из этого инструмента коэффициенты выдернуть!!
Либо рассчитать коэффициенты средствами VBA, но чтобы они оказались «по качеству не хуже», чем коэффициенты линии тренда/Октавы.
А коэффициенты, аналогичные ЛИНЕЙН, увы, не имеют смысла… (((

Спасибо за помощь, буду пробовать дальше.
Уважаемый

tutochkin

,  два последних фрагмента кода — это что? Дают ли они коэффициенты, отличные от ЛИНЕЙН, или то же самое?
В любом случае спасибо, сейчас буду смотреть.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#11

08.12.2021 09:52:34

Цитата
написал:
Да, это известная проблема при больших Х.

Боюсь, большие Х здесь не главная причина.
Даже с малыми Х результаты ЛИНЕЙН не соответствуют линии тренда, погрешность для данной выборки около 0,02%.
Сейчас специально уменьшил Х на шесть порядков.
При этом и коэффициенты от Линейн, и от линии тренда сохранили неизменными первые 7..9 знаков, и общая форма линий осталась той же.

Цитата
написал:
Понятие точности относительно. Вот на рисунке несколько видов интерполяции через одни и те-же опорные точки…. А какая разница в промежутках  Выбирай на вкус.

Вы привели пример интерполяции, у меня — аппроксимация, причём количество точек не просто превышает порядок полинома, оно составляет от нескольких десятков до нескольких тысяч.

В измерительных устройствах является стандартом де-факто использование именно полиномиальной аппроксимации.
Во-первых, погрешность преобразования первичных датчиков/преобразователей имеет вид, очень хорошо аппроксимируемый полиномами.
Во-вторых, коэффициенты полинома занимают мало памяти в МК, и процесс вычислений проходит всегда по одному и тому же алгоритму, независимо от значения входного сигнала, никаких условий, сравнений, смен формул и т.п., что обеспечивает низкую интегральную погрешность.

Фактически, этот способ полностью и меня удовлетворяет, остался один нюанс — нужно выработать инструмент для удобного расчёта адекватных коэффициентов. ))

P.S.
Почитал про WorksheetFunction.LinEst.
Фактически, это и есть ЛИНЕЙН, так что всё, ранее написанное, не имеет смысла…  :cry:
Я изначально не вникал в код и не понял, что коэффициенты вовсе не «выдёргиваются» из инструмента работы с графиками, а вычисляются другой функцией, не связанной с ними.
, спасибо, что попытались помочь.

Сейчас попробую разобраться в примерах

МатросНаЗебре

, может, здесь что получится.

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#12

08.12.2021 11:09:11

Цитата
Алексей Назаров Дают ли они коэффициенты, отличные от ЛИНЕЙН, или то же самое?

так я про это и писал:

Цитата
=ИНДЕКС(Koef($D$5:$D$12;$E$5:$E$12;6);1;G5) — вывод элементов
или
=ИНДЕКС(Koef2($D$5:$D$12;$E$5:$E$12;6);1;G5)
Но они не будут отличаться от того что выдаст
=ИНДЕКС(ЛИНЕЙН($E$5:$E$12;$D$5:$D$12^{1;2;3;4;5;6});1;G5)

Цитата
Алексей Назаров написал:
В измерительных устройствах является стандартом де-факто

а куда 4…20мА дели ?

Цитата
Алексей Назаров написал:
Я изначально не вникал в код

Вот это зря.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#13

08.12.2021 12:06:10

Цитата
написал:
а куда 4…20мА дели ?

4..20 кануло в лету.
Т.е. оно ещё применяется, но уже редко.
Но, даже у датчиков, в которых используется, сигнал предварительно обрабатывается МК с использованием тех самых полиномов.
И уже затем передаётся по каким либо протоколам (Eth, HART, либо через АЦП — 4…20)

Цитата
написал:
Вот это зря.

Виноват, исправлюсь! )))

Сейчас разбираюсь со свойством .DataLabel.Text, пытаюсь корректно выдернуть из него данные.

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#14

08.12.2021 13:03:54

Цитата
Алексей Назаров написал:
Т.е. оно ещё применяется, но уже редко.

Да вот не правда. 99% КИПиА на новых станциях на нём. Все метраны ДД ДИ (да и Метран-280, Метран-2700) на 4-20 с харт протоколом. Сименс аналогично. А вот потом уже идёт преобразование хоть по среднемедианному хоть по среднеарефметическому. Но это не суть. Для моих работ выковыривание из лэйблов никуда не годится, посему не рассматривалось.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#15

08.12.2021 13:20:40

Цитата
на 4-20 с харт протокол

Вот именно, что с HART протоколом, т.е. от 4-20  осталось, фактически, только питание и характеристики физического уровня передачи данных.
Но и эти используются только как общепромышленные.
Я общепромышленным оборудованием не занимаюсь, с монстрами конкурировать сложно.

Цитата
А вот потом уже идёт преобразование хоть по среднемедианному хоть по среднеарефметическому

Это не преобразование, это усреднение/фильтрация, её делают, в зависимости от конкретного применения.
А внутри самого датчика сигнал всё равно обрабатывается в 95% случаев на МК по нелинейным алгоритмам.
А уж дальше выходной сигнал можно и в HART, и в токовый 4..20 преобразовать..

Цитата
Для моих работ выковыривание из лэйблов никуда не годится

Для моих годится всё, что НОРМАЛЬНО РАБОТАЕТ.
А нафига мне нужна аппроксимация, которая даёт погрешность в 4 раза больше, чем «выковырянная» откуда-то? ))

Сейчас разбираюсь с .DataLabel.Text, данные получить удаётся, но либо при пошаговом выполнении кода, либо, если в тексте есть ошибка, вызывающая остановку компилятора. После пропуска ошибки данные и появляются. (((

Код
Sub AddTrend()
    ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select
    ActiveChart.SetSourceData Source:=Range( _
        "'Pdm2_2021_11_17_102_(усреднен.)'!$B$4:$C$68")
    ActiveChart.FullSeriesCollection(1).Trendlines.Add
    ActiveChart.FullSeriesCollection(1).Trendlines(1).Select
        
    With ActiveChart.FullSeriesCollection(1).Trendlines(1)
        .Type = xlPolynomial
        .Order = 6
        .DisplayEquation = True
        .DisplayRSquared = False
        .DataLabel.NumberFormat = "0,00000000000000E+00"
        
        'Здесь (например) нужно код тормознуть, иначе дальнейшие действия не имеют смысла....

        Range("Y17").Value = .DataLabel.Text
        MsgBox (.DataLabel.Text)
    End With

        Range("Y17").Value = ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Text
End Sub
 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#16

08.12.2021 13:26:21

Цитата
А нафига мне нужна аппроксимация, которая даёт погрешность в 4 раза больше, чем «выковырянная» откуда-то? ))

Ну во первых вы так и не показали как считаете погрешность. Во вторых — интерполируйте кусочным способом и получите в узлах 0-ю погрешность.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#17

08.12.2021 14:29:14

Цитата
написал:
Ну во первых вы так и не показали как считаете погрешность. Во вторых — интерполируйте кусочным способом и получите в узлах 0-ю погрешность.

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

В том числе и между узлами. Например, для проверки качества полинома можем сделать 1000 измерений, по 100 точкам (каждой 10-й) построить полином, а погрешность проверить по всем 1000 точкам.

И между узлами погрешность не менее важна, чем в узлах!

Кусочно-линейную пробовали, но при разумном количестве точек (не более нескольких десятков) погрешность аппроксимации наших данных превышает 0,03%, а нужно не более 0,01%.
Также при КЛ погрешность определения значения опорной точки выливается в погрешность измерения в данной точке, а при полиномиальной мы можем делать аппроксимацию по любому количеству точек, при этом ошибочные измерения видны, как на ладони, и сразу отфильтровываются (либо, если они единичные, то мало влияют на результат аппроксимации).

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#18

08.12.2021 14:45:35

Цитата
Алексей Назаров написал:
Кусочно-линейную пробовали, но при разумном количестве точек (не более нескольких десятков) погрешность аппроксимации наших данных превышает 0,03%, а нужно не более 0,01%.

При кусочной интерполяции в узловых точках погрешность нулевая. Точно так же как и при интерполяцией сплайном. Между узлов зависит от типа функции интерполяции и граничных условий. Рисунки приводил выше.

Цитата
Алексей Назаров написал:
ошибочные измерения видны, как на ладони, и сразу отфильтровываются

Т.е. вы с помощью аппроксимации фильтруете точки и говорите о погрешности аппроксимации? Серьёзно? Не пробовали в начале хотя бы по медианному фильтру откинуть шумы?
Ладно, это к экселю не относится. И не имея исходных данных говорить не о чем (то что на скринах — трэш и угар для расчёта полинома). Да и имея нет желания.
Удачи в построениях.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#19

08.12.2021 15:46:31

Цитата
написал:
При кусочной интерполяции в узловых точках погрешность нулевая

Мне не важна погрешность в узловых точках, важна В ЛЮБОЙ точке в заданном интервале. И этого КЛ не обеспечивает.
Если, например, Ваши весы в точках 1 и 1,5 кг дадут погрешность, близкую к нулю, то с какой погрешностью Вы измерите 1,2кг?
Извините, но формулировка «погрешность в узловых точках» применительно к измерительным приборам не имеет никакого смысла.

Цитата
написал:
Т.е. вы с помощью аппроксимации фильтруете точки и говорите о погрешности аппроксимации? Серьёзно?

Не фильтрую, Вы не так поняли (или я неясно объяснил), но при исследовании иногда это использую.
Ибо при исследованиях при выборке конечного размера не всегда есть большая избыточность, и при обработке исходного и обработанного фильтрами массива бывает разница.
А при полиномиальной обработке любые, выходящие из ряда, точки сразу бросаются в глаза. Причём фильтрация (хоть СА, хоть СКв, хоть медианная) далеко не всегда дают приемлемый результат (например, несколько точек подряд с высоким СКО), и можно принять решение, снимать часть данных заново, либо достаточно исключить из выборки несколько точек.
И не нужно делать большие глаза и говорить о нестандартизованных методиках и т.п. В экспериментах все методы хороши, если дают хороший результат.

Цитата
написал:
И не имея исходных данных говорить не о чем

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

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#20

08.12.2021 17:09:14

Цитата
Алексей Назаров написал:
Если, например, Ваши весы в точках 1 и 1,5 кг дадут погрешность, близкую к нулю, то с какой погрешностью Вы измерите 1,2кг?

А Вы? ;) Как вы таки определили погрешность то в промежуточных точках? Погрешность это (по определению) отклонение измеренного/расчётного значения от истинного. Вне базовых точек вы истинные значения не знаете. А  базовых точках результат не всегда достоверный (судя по скринам там дребезг процентов под 50 и больше). О какой погрешности идёт речь? На глаз определяете 0,01%?

Цитата
Алексей Назаров написал:
В экспериментах все методы хороши, если дают хороший результат.

Чушь. Говорю как человек почти 20 лет занимающийся экспериментами на энергетическом оборудовании. Включая проведение гарантийных испытаний турбин Siemens и GE. Хорошим является только верный метод. А остальное называется подгон под условия.

 

Алексей Назаров

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#21

09.12.2021 08:48:06

Цитата
написал:
А Вы?  Как вы таки определили погрешность то в промежуточных точках? Погрешность это (по определению) отклонение измеренного/расчётного значения от истинного. Вне базовых точек вы истинные значения не знаете.

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

аппроксимации

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

Во-вторых, даже если говорить о полной погрешности, то параметры определяются на готовом изделии по эталонному прибору.

На любой промежуточной точке

, включая рекомендованные ГОСТами для данных СИ.

Цитата
написал:
судя по скринам там дребезг процентов под 50 и больше

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

Шум +-2…3 емзр от полного значения 30000…150000 это примерно 0,01…0,0015% от измеренного значения. т.е. не более 0,002%FS, это немного ниже, чем 50%?  ;)

Кстати, и ошибка аппроксимации (по коэффициентам Октавы и линии тренда) в данном случае максимальная около 1,9ЕМЗР, т.е. находится на уровне шумов эталонного прибора. Думаю, при использовании более высокоточного СИ и погрешность аппроксимации будет ниже.

Цитата
написал:
Чушь. Говорю как человек почти 20 лет занимающийся экспериментами на энергетическом оборудовании. Включая проведение гарантийных испытаний

Вот именно, Вы занимаетесь метрологией, а я нормативными актами и МИ не особо ограничен, я больше исследователь-разработчик.
Кое-что производим, и на многие наши СИ методики пишутся персонально, т.к. они аналогов не имеют.

В любом случае спасибо Вам за помощь, что помогли разобраться. Хоть этот метод нам и не подошёл, но отрицательный результат — тоже результат!

P.S. Добавил файлы с выборками.

Прикрепленные файлы

  • m3_d1_60(med).csv (1.53 КБ)
  • m3_d1_60.csv (125.22 КБ)

Изменено: Алексей Назаров09.12.2021 08:57:15

 

О, вроде получилось загрузить файл на 260 кБ, а ранее выше 100 не получалось.

 

МатросНаЗебре

Пользователь

Сообщений: 5516
Регистрация: 05.02.2014

#23

09.12.2021 10:21:46

Вариант, возвращающий коэффициенты полинома.

Код
Option Explicit

Sub Polynomial()
    Dim rX As Range
    Dim rY As Range
    Dim rOut As Range
    Set rX = ActiveSheet.Range("B4:B68")
    Set rY = ActiveSheet.Range("C4:C68")
    Set rOut = ActiveSheet.Range("E4")
    
    Dim dataLabelText As String
    dataLabelText = GetDataLabelText(rX, rY)
    Dim coefficients As Variant
    coefficients = GetCoefficients(dataLabelText)
    
    rOut.Resize(UBound(coefficients, 1), UBound(coefficients, 2)) = coefficients
End Sub

Function GetCoefficients(dataLabelText As String) As Variant
    Dim txt As String
    txt = dataLabelText
    txt = Replace(txt, "y = ", "")
    Dim arr As Variant
    arr = Split(txt, " ")
    Dim brr As Variant
    Dim dic As Object
    Set dic = CreateObject("Scripting.Dictionary")
    Dim ii As Integer
    For ii = LBound(arr) To UBound(arr)
        Select Case arr(ii)
        Case "+", "-"
        Case Else
            brr = Split(arr(ii), "x")
            If UBound(brr) = 0 Then
                ReDim brr(0 To 1)
                brr(0) = arr(ii)
                brr(1) = "0"
            Else
                If ii > 0 Then
                    brr(0) = arr(ii - 1) & brr(0)
                End If
                If brr(1) = "" Then brr(1) = "1"
            End If
            dic.Item(brr(1)) = brr(0)
        End Select
    Next
    
    Dim orr As Variant
    If dic.Count = 0 Then
        ReDim orr(1 To 1, 1 To 2)
    Else
        arr = dic.Keys()
        brr = dic.Items()
        Set dic = Nothing
        ReDim orr(1 To UBound(arr) - LBound(arr) + 1, 1 To 2)
        Dim jj As Integer
        For ii = UBound(arr) To LBound(arr) Step -1
            jj = jj + 1
            orr(jj, 1) = arr(ii)
            orr(jj, 2) = CDbl(brr(ii))
        Next
    End If
    GetCoefficients = orr
End Function

Function GetDataLabelText(rX As Range, rY As Range) As String
    If rX.Rows.Count = 1 Then Exit Function
    Dim arX As Variant
    Dim arY As Variant
    arX = rX.Columns(1)
    arY = rY.Cells(1, 1).Resize(UBound(arX, 1), 1)
    
'    Application.ScreenUpdating = False
    
    Dim wb As Workbook
    Set wb = Workbooks.Add(1)
    With ActiveSheet
        .Cells(1, 1).Resize(UBound(arX, 1), 1) = arX
        .Cells(1, 2).Resize(UBound(arX, 1), 1) = arY
        
        .Shapes.AddChart2(240, xlXYScatter).Select
        With ActiveChart
            .SetSourceData Source:=Cells(1, 1).Resize(UBound(arX, 1), 2) 'Range("Лист1!$A$1:$B$3")
            .FullSeriesCollection(1).Trendlines.Add
            With .FullSeriesCollection(1).Trendlines(1)
                .Type = xlPolynomial
                .Order = 2
                .Type = xlPolynomial
                .Order = 6
                .DisplayEquation = True
                .DataLabel.NumberFormat = "# ##0,00000000000000000000000000000000000000000000000000000000000000000000000000"
                DoEvents
'                Application.Wait Now + TimeSerial(0, 0, 1)
                GetDataLabelText = .DataLabel.Text
            End With
        End With
    End With
    wb.Close False
    
    Application.ScreenUpdating = True
End Function
 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#24

09.12.2021 10:34:37

Цитата
Алексей Назаров написал:
Во-первых, я везде говорил только о погрешности аппроксимации (а не о полной погрешности измерений), и везде старался это подчёркивать.

Я так и не увидел как Вы её считаете. Судя по приложенному файлу — контроль отклонений в заданных точках.
Ну и где отклонения при кусочной интерполяции?

Цитата
Алексей Назаров написал:
Вы читаете через строчку.

Это Вы про меня? Серьёзно?

Цитата
Алексей Назаров написал:
Вот именно, Вы занимаетесь метрологией

Я не занимаюсь метрологией. Но моя работа требует знаний по средствам измерений, как раз из-за того что некоторые делают на глаз, а потом баланс расходов не сходится.

 

alenco

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#25

09.12.2021 10:57:53

МатросНаЗебре, большое спасибо за (почти) правильно работающий код!

У меня вылезает ошибка 9 (Subscript out of range) на строке

Код
                If brr(1) = "" Then brr(1) = "1"

После замены формата числа на экспоненциальный

Код
.DataLabel.NumberFormat = "0,00000000000000E+00"

ошибка пропала, но и признаки работы ограничились перерисовкой экрана…

Попробовал тормознуть код перед  

Код
GetDataLabelText = .DataLabel.Text

И… вуаля!
Всё (почти) отлично работает!!!!  :D

Осталась мелочь — обойтись без остановки кода.

Такая проблема обсуждалась, например,

здесь

,

здесь

, попадалось и на других форумах, но панацеи никто не знает.
Многое зависит от системы, версии Офиса. ((

Изменено: alenco09.12.2021 11:00:48

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#26

09.12.2021 11:13:56

Цитата
alenco написал:
Всё (почти) отлично работает!!!!   Осталась мелочь — обойтись без остановки кода.

И Вас ничего не смущает?

 

alenco

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#27

09.12.2021 11:23:50

Цитата
tutochkin написал:
Я так и не увидел как Вы её считаете. Судя по приложенному файлу — контроль отклонений в заданных точках.

Судя по скрину, всё увидели и даже для своего варианта посчитали?

Цитата
tutochkin написал:
Ну и где отклонения при кусочной интерполяции?

Не знаю, с функцией kus_interp я не знаком.
А всё как раз и определяется алгоритмом её работы, количеством точек и параметрами исходной выборки.

Я когда-то пробовал КЛ на своих выборках, при небольшом количестве опорных точек (по моему, 10 или 20, уже не помню) она дала приличную погрешность. Дальше не заморачивался, остановился полностью на полиномах, по образцу предприятий, с кем мы работаем.

Изменено: alenco09.12.2021 11:24:26

 

alenco

Пользователь

Сообщений: 24
Регистрация: 03.12.2021

#28

09.12.2021 11:27:14

Цитата
tutochkin написал:
И Вас ничего не смущает?

Кроме малого количества значащих цифр на вашем скрине — ничего.
Я использую 14.

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

Изменено: alenco09.12.2021 11:31:18

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#29

09.12.2021 12:01:05

Цитата
alenco написал:
Не знаю, с функцией kus_interp я не знаком.

Читайте не через строчку — давал вариант. Урезанный правда, только с линейным вариантом, но давал.

Цитата
alenco написал:
Кроме малого количества значащих цифр на вашем скрине — ничего.Я использую 14.

У как всё запущено… А ещё на глаз погрешности определяете.

А зачем сменили Имя-фамилию на ник? ;)

 

МатросНаЗебре

Пользователь

Сообщений: 5516
Регистрация: 05.02.2014

#30

09.12.2021 13:20:31

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

Код
Option Explicit

Const kk = 6 'Степень полинома.

Sub Polynomial2()
    Dim rX As Range
    Dim rY As Range
    Dim rOut As Range
    Set rX = ActiveSheet.Range("B4:B68")
    Set rY = ActiveSheet.Range("C4:C68")
    Set rOut = ActiveSheet.Range("E4")
    
    Dim vecA As Variant, vecB As Variant
    Dim coefficients As Variant
    coefficients = GetArrCoefficients(rX, rY, vecA, vecB)
    
    If Not IsEmpty(coefficients) Then
        rOut.Cells(1, 1).Resize(UBound(coefficients, 1), UBound(coefficients, 2)) = coefficients
    End If
End Sub

Function GetArrCoefficients(rX As Range, rY As Range, vecA As Variant, vecB As Variant) As Variant
    If rX.Rows.Count = 1 Then Exit Function
    Dim arX As Variant
    Dim arY As Variant
    arX = rX.Columns(1)
    arY = rY.Cells(1, 1).Resize(UBound(arX, 1), 1)
    
    ReDim vecA(1 To kk + 1, 1 To kk + 1)
    ReDim vecB(1 To kk + 1, 1 To 1)
    
    Dim i As Long
    Dim N As Long
    N = UBound(arX, 1)
    Dim y As Integer
    Dim x As Integer
    For y = 0 To kk
        For x = 0 To kk
            For i = 1 To N
                vecA(y + 1, x + 1) = vecA(y + 1, x + 1) + arX(i, 1) ^ (y + x)
            Next
        Next
        For i = 1 To N
            vecB(y + 1, 1) = vecB(y + 1, 1) + (arX(i, 1) ^ y) * arY(i, 1)
        Next
    Next
    Dim obrA As Variant
    Dim AmB As Variant
    
    
'    Dim wb As Workbook
'    Set wb = Workbooks.Add(1)
'    With wb.Sheets(1)
'        .Cells(1, 1).Resize(UBound(vecA, 1), UBound(vecA, 2)) = vecA
'        .Cells(1, UBound(vecA, 2) + 2).Resize(UBound(vecB, 1), 1) = vecB
'
'        .Cells(UBound(vecA, 1) + 2, 1).Resize(UBound(vecA, 1), UBound(vecA, 2)).FormulaArray = "=MINVERSE(R1C1:R" & UBound(vecA, 1) & "C" & UBound(vecA, 1) & ")"
'        .Cells(UBound(vecA, 1) + 2, UBound(vecA, 1) + 2).Resize(UBound(vecA, 1), 1).FormulaArray = "=MMULT(R" & UBound(vecA, 1) + 2 & "C1:R" & 2 * UBound(vecA, 1) + 1 & "C" & UBound(vecA, 1) & ",R1C" & UBound(vecA, 1) + 2 & ":R" & UBound(vecA, 1) & "C" & UBound(vecA, 1) + 2 & ")"
'    End With
'    wb.Close False
    
    obrA = WorksheetFunction.MInverse(vecA)
    AmB = WorksheetFunction.MMult(obrA, vecB)
    
    Dim orr As Variant
    ReDim orr(1 To UBound(AmB, 1), 1 To 2)
    For y = 1 To UBound(AmB, 1)
        orr(y, 1) = y - 1
        orr(y, 2) = AmB(y, 1)
    Next
    GetArrCoefficients = orr
End Function

Изменено: МатросНаЗебре09.12.2021 14:35:22

Содержание

  • 1 Выполнение аппроксимации
    • 1.1 Способ 1: линейное сглаживание
    • 1.2 Способ 2: экспоненциальная аппроксимация
    • 1.3 Способ 3: логарифмическое сглаживание
    • 1.4 Способ 4: полиномиальное сглаживание
    • 1.5 Способ 5: степенное сглаживание
    • 1.6 Помогла ли вам эта статья?
  • 2 Аппроксимация в Excel статистических данных аналитической функцией.
  • 3 Итоги.
  • 4 P.S. (04.06.2017)
  • 5 Высокоточная красивая замена табличных данных простым уравнением.

как сделать апроксимацию в excel

Среди различных методов прогнозирования нельзя не выделить аппроксимацию. С её помощью можно производить приблизительные подсчеты и вычислять планируемые показатели, путем замены исходных объектов на более простые. В Экселе тоже существует возможность использования данного метода для прогнозирования и анализа. Давайте рассмотрим, как этот метод можно применить в указанной программе встроенными инструментами.

Выполнение аппроксимации

Наименование данного метода происходит от латинского слова proxima – «ближайшая» Именно приближение путем упрощения и сглаживания известных показателей, выстраивание их в тенденцию и является его основой. Но данный метод можно использовать не только для прогнозирования, но и для исследования уже имеющихся результатов. Ведь аппроксимация является, по сути, упрощением исходных данных, а упрощенный вариант исследовать легче.

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

Но она может быть построена с применением одного из пяти видов аппроксимации:

  • Линейной;
  • Экспоненциальной;
  • Логарифмической;
  • Полиномиальной;
  • Степенной.

Рассмотрим каждый из вариантов более подробно в отдельности.

Урок: Как построить линию тренда в Excel

Способ 1: линейное сглаживание

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

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

  1. Для построения графика, прежде всего, выделяем столбцы «Себестоимость единицы продукции» и «Прибыль». После этого перемещаемся во вкладку «Вставка». Далее на ленте в блоке инструментов «Диаграммы» щелкаем по кнопке «Точечная». В открывшемся списке выбираем наименование «Точечная с гладкими кривыми и маркерами». Именно данный вид диаграмм наиболее подходит для работы с линией тренда, а значит, и для применения метода аппроксимации в Excel.
  2. График построен.
  3. Для добавления линии тренда выделяем его кликом правой кнопки мыши. Появляется контекстное меню. Выбираем в нем пункт «Добавить линию тренда…».

    как сделать апроксимацию в excel

    Существует ещё один вариант её добавления. В дополнительной группе вкладок на ленте «Работа с диаграммами» перемещаемся во вкладку «Макет». Далее в блоке инструментов «Анализ» щелкаем по кнопке «Линия тренда». Открывается список. Так как нам нужно применить линейную аппроксимацию, то из представленных позиций выбираем «Линейное приближение».

  4. Если же вы выбрали все-таки первый вариант действий с добавлением через контекстное меню, то откроется окно формата.

    В блоке параметров «Построение линии тренда (аппроксимация и сглаживание)» устанавливаем переключатель в позицию «Линейная».
    При желании можно установить галочку около позиции «Показывать уравнение на диаграмме». После этого на диаграмме будет отображаться уравнение сглаживающей функции.

    Также в нашем случае для сравнения различных вариантов аппроксимации важно установить галочку около пункта «Поместить на диаграмму величину достоверной аппроксимации (R^2)». Данный показатель может варьироваться от 0 до 1. Чем он выше, тем аппроксимация качественнее (достовернее). Считается, что при величине данного показателя 0,85 и выше сглаживание можно считать достоверным, а если показатель ниже, то – нет.

    После того, как провели все вышеуказанные настройки. Жмем на кнопку «Закрыть», размещенную в нижней части окна.

  5. Как видим, на графике линия тренда построена. При линейной аппроксимации она обозначается черной прямой полосой. Указанный вид сглаживания можно применять в наиболее простых случаях, когда данные изменяются довольно быстро и зависимость значения функции от аргумента очевидна.

как сделать апроксимацию в excel

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

y=ax+b

В конкретно нашем случае формула принимает такой вид:

y=-0,1156x+72,255

Величина достоверности аппроксимации у нас равна 0,9418, что является довольно приемлемым итогом, характеризующим сглаживание, как достоверное.

Способ 2: экспоненциальная аппроксимация

Теперь давайте рассмотрим экспоненциальный тип аппроксимации в Эксель.

  1. Для того, чтобы изменить тип линии тренда, выделяем её кликом правой кнопки мыши и в раскрывшемся меню выбираем пункт «Формат линии тренда…».
  2. После этого запускается уже знакомое нам окно формата. В блоке выбора типа аппроксимации устанавливаем переключатель в положение «Экспоненциальная». Остальные настройки оставим такими же, как и в первом случае. Щелкаем по кнопке «Закрыть».
  3. После этого линия тренда будет построена на графике. Как видим, при использовании данного метода она имеет несколько изогнутую форму. При этом уровень достоверности равен 0,9592, что выше, чем при использовании линейной аппроксимации. Экспоненциальный метод лучше всего использовать в том случае, когда сначала значения быстро изменяются, а потом принимают сбалансированную форму.

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

y=be^x

где e – это основание натурального логарифма.

В конкретно нашем случае формула приняла следующую форму:

y=6282,7*e^(-0,012*x)

Способ 3: логарифмическое сглаживание

Теперь настала очередь рассмотреть метод логарифмической аппроксимации.

  1. Тем же способом, что и в предыдущий раз через контекстное меню запускаем окно формата линии тренда. Устанавливаем переключатель в позицию «Логарифмическая» и жмем на кнопку «Закрыть».
  2. Происходит процедура построения линии тренда с логарифмической аппроксимацией. Как и в предыдущем случае, такой вариант лучше использовать тогда, когда изначально данные быстро изменяются, а потом принимают сбалансированный вид. Как видим, уровень достоверности равен 0,946. Это выше, чем при использовании линейного метода, но ниже, чем качество линии тренда при экспоненциальном сглаживании.

как сделать апроксимацию в excel

В общем виде формула сглаживания выглядит так:

y=a*ln(x)+b

где ln – это величина натурального логарифма. Отсюда и наименование метода.

В нашем случае формула принимает следующий вид:

y=-62,81ln(x)+404,96

Способ 4: полиномиальное сглаживание

Настал черед рассмотреть метод полиномиального сглаживания.

  1. Переходим в окно формата линии тренда, как уже делали не раз. В блоке «Построение линии тренда» устанавливаем переключатель в позицию «Полиномиальная». Справа от данного пункта расположено поле «Степень». При выборе значения «Полиномиальная» оно становится активным. Здесь можно указать любое степенное значение от 2 (установлено по умолчанию) до 6. Данный показатель определяет число максимумов и минимумов функции. При установке полинома второй степени описывается только один максимум, а при установке полинома шестой степени может быть описано до пяти максимумов. Для начала оставим настройки по умолчанию, то есть, укажем вторую степень. Остальные настройки оставляем такими же, какими мы выставляли их в предыдущих способах. Жмем на кнопку «Закрыть».
  2. Линия тренда с использованием данного метода построена. Как видим, она ещё более изогнута, чем при использовании экспоненциальной аппроксимации. Уровень достоверности выше, чем при любом из использованных ранее способов, и составляет 0,9724.

    как сделать апроксимацию в excel

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

    y=a1+a1*x+a2*x^2+…+an*x^n

    В нашем случае формула приняла такой вид:

    y=0,0015*x^2-1,7202*x+507,01

  3. Теперь давайте изменим степень полиномов, чтобы увидеть, будет ли отличаться результат. Возвращаемся в окно формата. Тип аппроксимации оставляем полиномиальным, но напротив него в окне степени устанавливаем максимально возможное значение – 6.
  4. Как видим, после этого наша линия тренда приняла форму ярко выраженной кривой, у которой число максимумов равно шести. Уровень достоверности повысился ещё больше, составив 0,9844.

как сделать апроксимацию в excel

Формула, которая описывает данный тип сглаживания, приняла следующий вид:

y=8E-08x^6-0,0003x^5+0,3725x^4-269,33x^3+109525x^2-2E+07x+2E+09

Способ 5: степенное сглаживание

В завершении рассмотрим метод степенной аппроксимации в Excel.

  1. Перемещаемся в окно «Формат линии тренда». Устанавливаем переключатель вида сглаживания в позицию «Степенная». Показ уравнения и уровня достоверности, как всегда, оставляем включенными. Жмем на кнопку «Закрыть».
  2. Программа формирует линию тренда. Как видим, в нашем случае она представляет собой линию с небольшим изгибом. Уровень достоверности равен 0,9618, что является довольно высоким показателем. Из всех вышеописанных способов уровень достоверности был выше только при использовании полиномиального метода.

как сделать апроксимацию в excel

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

Общая формула, описывающая данный метод имеет такой вид:

y=bx^n

В конкретно нашем случае она выглядит так:

y = 6E+18x^(-6,512)

Как видим, при использовании конкретных данных, которые мы применяли для примера, наибольший уровень достоверности показал метод полиномиальной аппроксимации с полиномом в шестой степени (0,9844), наименьший уровень достоверности у линейного метода (0,9418). Но это совсем не значит, что такая же тенденция будет при использовании других примеров. Нет, уровень эффективности у приведенных выше методов может значительно отличаться, в зависимости от конкретного вида функции, для которой будет строиться линия тренда. Поэтому, если для этой функции выбранный метод наиболее эффективен, то это совсем не означает, что он также будет оптимальным и в другой ситуации.

Если вы пока не можете сразу определить, основываясь на вышеприведенных рекомендациях, какой вид аппроксимации подойдет конкретно в вашем случае, то есть смысл попробовать все методы. После построения линии тренда и просмотра её уровня достоверности можно будет выбрать оптимальный вариант.

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

Опубликовано 05 Янв 2014
Рубрика: Справочник Excel | 18 комментариев

(Обратите внимание на дополнительный раздел от 04.06.2017 в конце статьи.)

Учет и контроль! Те, кому за 40 должны хорошо помнить этот лозунг из эпохи построения социализма и коммунизма в нашей стране.

Но без хорошо налаженного учета невозможно эффективное функционирование ни страны, ни области, ни предприятия, ни домашнего хозяйства при любой общественно-экономической формации общества! Для составления прогнозов и планов деятельности и развития необходимы исходные данные. Где их брать? Только один достоверный источник – это ваши статистические учетные данные предыдущих периодов времени.

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

«Мы, помню, 5 лет назад изготавливали до 1000 штук таких изделий в месяц, а сейчас и 700 еле-еле собираем!». Открываем статистику и видим, что 5 лет назад и 500 штук не изготавливали…

«Во сколько обходится километр пробега твоего автомобиля с учетом всех затрат?» Открываем статистику – 6 руб./км. Поездка на работу – 107 рублей. Дешевле, чем на такси (180 рублей) более чем в полтора раза. А бывали времена, когда на такси было дешевле…

«Сколько времени требуется для изготовления металлоконструкций уголковой башни связи высотой 50 м?» Открываем статистику – и через 5 минут готов ответ…

«Сколько будет стоить ремонт комнаты в квартире?» Поднимаем старые записи, делаем поправку на инфляцию за прошедшие годы, учитываем, что в прошлый раз купили материалы на 10% дешевле рыночной цены и – ориентировочную стоимость мы уже знаем…

Ведя учет своей профессиональной деятельности, вы всегда будете готовы ответить на вопрос начальника: «Когда!!!???». Ведя учет домашнего хозяйства, легче спланировать расходы на крупные покупки, отдых и прочие расходы в будущем, приняв соответствующие меры по дополнительному заработку или по сокращению необязательных расходов сегодня.

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

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

Прежде всего, несколько слов об аппроксимации. Мы будем искать закон – аналитическую функцию, то есть функцию, заданную уравнением, которое лучше других описывает зависимость общего выпуска металлоконструкций от количества уголкового проката в выполненных заказах. Это и есть аппроксимация, а найденное уравнение называется аппроксимирующей функцией для исходной функции, заданной в виде таблицы.

1. Включаем Excel и помещаем на лист таблицу с данными статистики.

2. Далее строим и форматируем точечную диаграмму, в которой по оси X задаем значения аргумента – количество переработанных уголков в тоннах. По оси Y откладываем значения исходной функции – общий выпуск металлоконструкций в месяц, заданные таблицей.

О том, как построить подобную диаграмму, подробно рассказано в статье «Как строить графики в Excel?».

3. «Наводим» мышь на любую из точек на графике и щелчком правой кнопки вызываем контекстное меню (как говорит один мой хороший товарищ — работая в незнакомой программе, когда не знаешь, что делать, чаще щелкай правой кнопкой мыши…). В выпавшем меню выбираем «Добавить линию тренда…».

4. В появившемся окне «Линия тренда» на вкладке «Тип» выбираем «Линейная».

5. Далее на вкладке «Параметры» ставим 2 галочки и нажимаем «ОК».

6. На графике появилась прямая линия, аппроксимирующая нашу табличную зависимость.

Мы видим кроме самой линии уравнение этой линии и, главное, мы видим значение параметра R2 – величины достоверности аппроксимации! Чем ближе его значение к 1, тем наиболее точно выбранная функция аппроксимирует табличные данные!

7. Строим линии тренда, используя степенную, логарифмическую, экспоненциальную и полиномиальную аппроксимации по аналогии с тем, как мы строили линейную линию тренда.

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

Однако хочу вас предостеречь! Если вы возьмете полиномы более высоких степеней, то, возможно, получите еще лучшие результаты, но кривые будут иметь замысловатый вид…. Здесь важно понимать, что мы ищем функцию, которая имеет физический смысл. Что это означает? Это означает, что нам нужна аппроксимирующая функция, которая будет выдавать адекватные результаты не только внутри рассматриваемого диапазона значений X, но и за его пределами, то есть ответит на вопрос: «Какой будет выпуск металлоконструкций при количестве переработанных за месяц уголков  меньше 45 и больше 168 тонн!» Поэтому я не рекомендую увлекаться полиномами высоких степеней, да и параболу (полином второй степени) выбирать осторожно!

Итак, нам необходимо выбрать функцию, которая не только хорошо интерполирует табличные данные в пределах диапазона значений X=45…168, но и допускает адекватную экстраполяцию за пределами этого диапазона. Я выбираю в данном случае логарифмическую функцию, хотя можно выбрать и линейную, как наиболее простую. В рассматриваемом примере при выборе линейной аппроксимации в excel ошибки будут больше, чем при выборе логарифмической, но не на много.

8. Удаляем все линии тренда с поля диаграммы, кроме логарифмической функции. Для этого щелкаем правой кнопкой мыши по ненужным линиям и в выпавшем контекстном меню выбираем «Очистить».

9. В завершении добавим к точкам табличных данных планки погрешностей. Для этого правой кнопкой мыши щелкаем на любой из точек на графике и в контекстном меню выбираем «Формат рядов данных…» и настраиваем данные на вкладке «Y-погрешности» так, как на рисунке ниже.

10. Затем щелкаем по любой из линий диапазонов погрешностей правой кнопкой мыши, выбираем в контекстном меню «Формат полос погрешностей…» и в окне «Формат планок погрешностей» на вкладке «Вид» настраиваем цвет и толщину линий.

Аналогичным образом форматируются любые другие объекты диаграммы в Excel!

Окончательный результат диаграммы представлен на следующем снимке экрана.

Итоги.

Результатом всех предыдущих действий стала полученная формула аппроксимирующей функции y=-172,01*ln (x)+1188,2. Зная ее, и количество уголков в месячном наборе работ, можно с высокой степенью вероятности (±4% — смотри планки погрешностей) спрогнозировать общий выпуск металлоконструкций за месяц! Например, если в плане на месяц 140 тонн уголков, то общий выпуск, скорее всего, при прочих равных составит 338±14 тонн.

Для повышения достоверности аппроксимации статистических данных должно быть много. Двенадцать пар значений – это маловато.

Из практики скажу, что хорошим результатом следует считать нахождение аппроксимирующей функции с коэффициентом достоверности R2>0,87. Отличный результат – при  R2>0,94.

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

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

Затронутый вопрос аппроксимации функции одной переменной имеет широкое практическое применение в разных сферах жизни. Но гораздо большее применение имеет решение задачи аппроксимации функции нескольких независимых переменных…. Об этом и не только читайте в следующих статьях на блоге.

Подписывайтесь на анонсы статей в окне, расположенном в конце каждой статьи или в окне вверху страницы.

Не забывайте подтверждать подписку кликом по ссылке в письме, которое придет к вам на указанную почту (может прийти в папку «Спам»)!!!

С интересом прочту Ваши комментарии, уважаемые читатели! Пишите!

P.S. (04.06.2017)

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

Вас не устраивают полученные точность аппроксимации (R2
Подробности Автор: Administrator Родительская категория: Заметки Категория: Компьютерная повседневность Создано: 28 января 2013 Обновлено: 15 мая 2014 Просмотров: 28651

Чтобы приступить к аппроксимации кривой ваших экспериментальных данных в Excel 2003:

1. Создайте диаграмму (график).

2. Выделите линию функции на графике и нажмите правую кнопку мыши, выберите «Добавить линию тренда»

3. Выберите тип аппроксимации во вкладке «Тип» в откурывшемся диалоговом окне «Линия тренда»

4. На вкладке «Параметры» — прогностические параметры, показывать уравнение на графике или нет

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

В MS Excel аппроксимация экспериментальных данных осуществляется путем построения их графика (x – отвлеченные величины) или точечного графика (x – имеет конкретные значения) с последующим подбором подходящей аппроксимирующей функции (линии тренда).

1. Создайте диаграмму (график).
2. Выделите линию функции на графике и нажмите правую кнопку мыши, выберите «Добавить линию тренда».
3. Выберите тип аппроксимации во вкладке «Тип» в откурывшемся диалоговом окне «Линия тренда».
4. На вкладке «Параметры» — прогностические параметры, показывать уравнение на графике или нет.

Решить задачу аппроксимации экспериментальных данных – значит построить уравнение регрессии. Задача аппроксимации возникает в случае необходимости аналитически, то есть в виде математической зависимости, описать реальные явления, наблюдения за которыми заданы в виде таблицы, содержащей значения показателя в разные моменты времени или при разных значениях независимого аргумента. Например,

— известны показатели прибыли (их можно обозначить Y) в зависимости от размера капиталовложений (X);

— известны объемы реализации фирмы (Y) за шесть недель ее работы. В этом случае, X – это последовательность недель.

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

В общем случае задача аппроксимации экспериментальных данных имеет следующую постановку:

Пусть известны данные, полученные практическим путем (в ходе n экспериментов или наблюдений), которые можно представить парами чисел i; уi). Зависимость между ними отражает таблица:

X х1 х2 х3 хn
Y y1 y2 y3 yn

Имеется класс разнообразных функций F. Требуется найти аналитическое (т.е. математическое) выражение зависимости между этими показателями, то есть надо подобрать из множества функций F функцию f, такую что . которая наилучшим образом сглаживала бы экспериментальную зависимость между переменными и по возможности точно отражала общую тенденцию зависимости между X и Y, исключая погрешности измерения и случайные отклонения.

Выяснить вид функции можно либо из теоретических соображений, либо анализируя расположение точек (хi; уi) на координатной плоскости.

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

Для решения задачи аппроксимации используют метод наименьших квадратов.

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

Математическая запись метода наименьших квадратов имеет вид:

(1)

где n — количество наблюдений показателей.

Таким образом, задача аппроксимации распадается на две части.

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

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

Простейшим видом эмпирической модели с двумя параметрами, используемой для аппроксимации результатов экспериментов, является линейная регрессия, описываемая линейной функцией:

где а, b — искомые параметры.

Для модели линейной регрессии метод наименьших квадратов (1) запишется :

(2)

Для решения (2) относительно а и b приравнивают к нулю частные производные:

В итоге для нахождения a и b надо решить систему линейных алгебраических уравнений вида:

(3)

Реализовать метод наименьших квадратов в случае линейной регрессии в Excel можно различными способами.

1 способ. Построить систему линейных алгебраических уравнений, подставив в (3) все известные значения, и решить ее, например, матричным методом (см. зад. 4).

Рис. 25

В формульном виде элемент расчетной таблицы приведен на рис. 26.

Рис.26

2 способ. Решить в Excel задачу оптимизации (2), применив для этого Поиск решения (см. зад. 5).

Рис.27

Замечание 1. Следует обратить внимание, что для целевой функции S удобно применить встроенную математическую функцию СУММКВРАЗН(массив1;массив2), в результате которой как раз и вычисляется сумма квадратов разностей двух массивов. В нашем случае следует в качестве массива1 указать диапазон исходных значений , а в качестве массива2 – «теоретические» значения , рассчитанные по формуле , где a и b – это адреса ячеек с искомыми значениями.

Замечание 2. В диалоговом окне команды Поиск решения следует задать целевую ячейку, направление цели – на минимум и изменяемые ячейки (рис. 28). Данная задача ограничений не содержит.

Рис.28

Замечание3. В качестве эмпирических моделей с двумя параметрами могут использоваться и нелинейные модели вида:

Описанный способ решения метода наименьших квадратов применим и для нелинейных зависимостей.

3 способ. Для нахождения значений параметров a и b в случае линейной регрессии можно использовать следующие встроенные в Excel статистические функции:

НАКЛОН(известные_значения_У; известные_значения_Х)

ОТРЕЗОК(известные_значения_У; известные_значения_Х)

ЛИНЕЙН (известные_значения_У; известные_значения_Х)

Причем, функция НАКЛОН ( ) возвращает значение параметра а, функция ОТРЕЗОК( ) возвращает значение параметра b. Функция ЛИНЕЙН( ) возвращает одновременно оба параметра линейной зависимости, так как является функцией массива. Поэтому для ввода функции ЛИНЕЙН( ) в таблицу надо соблюдать следующие правила:

· выделить две рядом стоящие ячейки

· ввести формулу

· по окончании нажать одновременно комбинацию клавиш Ctrl+ Shift+Enter.

В результате в левой ячейке получится значение параметра а, а в правой – значение параметра b.

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

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

Кроме того, Excel предоставляет возможность выбирать значения пересечения линии тренда с осью Y, а также добавлять к диаграмме уравнение аппроксимации и величину достоверности аппроксимации (R2). Также, можно определять будущие и прошлые значения данных, исходя из линии тренда и связанного с ней уравнения аппроксимации.

Чтобы добавить линию тренда к ряду данных надо:

1. Активизировать щелчком мыши диаграмму.

2. Выполнить команду Диаграмма, Добавить линию тренда или переместить указатель на ряд данных, щелкнуть правой кнопкой мыши, а затем в контекстном меню выбрать команду Добавить линию тренда. В появившемся окне Линия тренда раскрыть вкладку Тип (рис. 29)

3. В списке Построен на ряде – выделить ряд данных, к которому нужно добавить линию тренда (Рис.29).

4. В группе Построение линии тренда (аппроксимация и сглаживание) выбрать один из шести типов аппроксимации (сглаживания). – линейная, логарифмическая, полиномиальная, степенная, экспоненциальная, скользящее среднее (Рис.29)

Рис.29

5. Чтобы установить параметры линии тренда надо раскрыть вкладку Параметры диалогового окна Линия тренда(рис. 30)

Рис.30

Показывать уравнение на диаграмме – осуществляет вывод уравнения аппроксимации на диаграмму в виде текстового поля.

Поместить на диаграмму величину достоверности аппроксимации R2– осуществляет вывод на диаграмму достоверности аппроксимации в виде текста.

6. По окончании нажимают экранную кнопку ОК.

Пример результирующей диаграммы приведен на рисунке 31.

Рис.31

По территориям региона приводятся данные за 200Х г.

Номер региона Среднедушевой прожиточный минимум в день одного трудоспособного, руб., х Среднедневная заработная плата, руб., у
1 78 133
2 82 148
3 87 134
4 79 154
5 89 162
6 106 195
7 67 139
8 88 158
9 73 152
10 87 162
11 76 159
12 115 173

Задание:

1. Постройте поле корреляции и сформулируйте гипотезу о форме связи.

2. Рассчитайте параметры уравнения линейной регрессии

Линейная функция.

3. Оцените тесноту связи с помощью показателей корреляции и детерминации.

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

5. Оцените с помощью средней ошибки аппроксимации качество уравнений.

6. Оцените с помощью F-критерия Фишера статистическую надёжность результатов регрессионного моделирования.

7. Рассчитайте прогнозное значение результата, если прогнозное значение фактора увеличится на 10% от его среднего уровня. Определите доверительный интервал прогноза для уровня значимости Уровень значимости 0,05.

8. Оцените полученные результаты, выводы оформите в аналитической записке.

Решение:

Решим данную задачу с помощью Excel.

1. Сопоставив имеющиеся данные х и у, например, ранжировав их в порядке возрастания фактора х, можно наблюдать наличие прямой зависимости между признаками, когда увеличение среднедушевого прожиточного минимума увеличивает среднедневную заработную плату. Исходя из этого, можно сделать предположение, что связь между признаками прямая и её можно описать уравнением прямой. Этот же вывод подтверждается и на основе графического анализа.

Чтобы построить поле корреляции можно воспользоваться ППП Excel. Введите исходные данные в последовательности: сначала х, затем у.

Выделите область ячеек, содержащую данные.

Затем выберете: Вставка / Точечная диаграмма / Точечная с маркерами как показано на рисунке 1.

Поле корреляции

Рисунок 1 Построение поля корреляции

Анализ поля корреляции показывает наличие близкой к прямолинейной зависимости, так как точки расположены практически по прямой линии.

2. Для расчёта параметров уравнения линейной регрессииЛинейная функция
воспользуемся встроенной статистической функцией ЛИНЕЙН.

Для этого:

1) Откройте существующий файл, содержащий анализируемые данные;
2) Выделите область пустых ячеек 5×2 (5 строк, 2 столбца) для вывода результатов регрессионной статистики.
3) Активизируйте Мастер функций: в главном меню выберете Формулы / Вставить функцию.
4) В окне Категория выберете Статистические, в окне функция – ЛИНЕЙН. Щёлкните по кнопке ОК как показано на Рисунке 2;

Диалоговое окно «Мастер функций»

Рисунок 2 Диалоговое окно «Мастер функций»

5) Заполните аргументы функции:

Известные значения у – диапазон, содержащий данные результативного признака;

Известные значения х – диапазон, содержащий данные факторного признака;

Константа – логическое значение, которое указывает на наличие или на отсутствие свободного члена в уравнении; если Константа = 1, то свободный член рассчитывается обычным образом, если Константа = 0, то свободный член равен 0;

Статистика – логическое значение, которое указывает, выводить дополнительную информацию по регрессионному анализу или нет. Если Статистика = 1, то дополнительная информация выводится, если Статистика = 0, то выводятся только оценки параметров уравнения.

Щёлкните по кнопке ОК;

Диалоговое окно аргументов функции ЛИНЕЙН

Рисунок 3 Диалоговое окно аргументов функции ЛИНЕЙН

6) В левой верхней ячейке выделенной области появится первый элемент итоговой таблицы. Чтобы раскрыть всю таблицу, нажмите на клавишу <F2>, а затем на комбинацию клавиш <Ctrl>+<Shift>+<Enter>.

Дополнительная регрессионная статистика будет выводиться в порядке, указанном в следующей схеме:

Значение коэффициента b Значение коэффициента a
Стандартная ошибка b Стандартная ошибка a
Коэффициент детерминации R2 Стандартная ошибка y
F-статистика Число степеней свободы df
Регрессионная сумма квадратов

Факторная сумма квадратов

Остаточная сумма квадратов

Остаточная сумма квадратов

Результат вычисления функции ЛИНЕЙН

Рисунок 4 Результат вычисления функции ЛИНЕЙН

Получили уровнение регрессии:

Уравнение линейной регрессии

Делаем вывод: С увеличением среднедушевого прожиточного минимума на 1 руб. среднедневная заработная плата возрастает в среднем на 0,92 руб.

3. Коэффициент детерминации Коэффициент детерминации означает, что 52% вариации заработной платы (у) объясняется вариацией фактора х – среднедушевого прожиточного минимума, а 48% — действием других факторов, не включённых в модель.

По вычисленному коэффициенту детерминации Коэффициент детерминации можно рассчитать коэффициент корреляции: Коэффициент корреляции.

Связь оценивается как тесная.

4. С помощью среднего (общего) коэффициента эластичности определим силу влияния фактора на результат.

Для уравнения прямой Уравнение линейной регрессии средний (общий) коэффициент эластичности определим по формуле:

Средний показатель эластичности

Средние значения найдём, выделив область ячеек со значениями х, и выберем Формулы / Автосумма / Среднее, и то же самое произведём со значениями у.

Расчёт средних значений функции и аргумента

Рисунок 5 Расчёт средних значений функции и аргумент

Расчёт среднего показателя эластичности

Таким образом, при изменении среднедушевого прожиточного минимума на 1% от своего среднего значения среднедневная заработная плата изменится в среднем на 0,51%.

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

Порядок действий следующий:

1) проверьте доступ к Пакету анализа. В главном меню последовательно выберите: Файл/Параметры/Надстройки.

2) В раскрывающемся списке Управление выберите пункт Надстройки Excel и нажмите кнопку Перейти.

3) В окне Надстройки установите флажок Пакет анализа, а затем нажмите кнопку ОК.

• Если Пакет анализа отсутствует в списке поля Доступные надстройки, нажмите кнопку Обзор, чтобы выполнить поиск.

• Если выводится сообщение о том, что пакет анализа не установлен на компьютере, нажмите кнопку Да, чтобы установить его.

4) В главном меню последовательно выберите: Данные / Анализ данных / Инструменты анализа / Регрессия, а затем нажмите кнопку ОК.

5) Заполните диалоговое окно ввода данных и параметров вывода:

Входной интервал Y – диапазон, содержащий данные результативного признака;

Входной интервал X – диапазон, содержащий данные факторного признака;

Метки – флажок, который указывает, содержит ли первая строка названия столбцов или нет;

Константа – ноль – флажок, указывающий на наличие или отсутствие свободного члена в уравнении;

Выходной интервал – достаточно указать левую верхнюю ячейку будущего диапазона;

6) Новый рабочий лист – можно задать произвольное имя нового листа.

Затем нажмите кнопку ОК.

Диалоговое окно ввода параметров инструмента Регрессия

Рисунок 6 Диалоговое окно ввода параметров инструмента Регрессия

Результаты регрессионного анализа для данных задачи представлены на рисунке 7.

Результат применения инструмента регрессия

Рисунок 7 Результат применения инструмента регрессия

5. Оценим с помощью средней ошибки аппроксимации качество уравнений. Воспользуемся результатами регрессионного анализа представленного на Рисунке 8.

Результат применения инструмента регрессия «Вывод остатка»

Рисунок 8 Результат применения инструмента регрессия «Вывод остатка»

Составим новую таблицу как показано на рисунке 9. В графе С рассчитаем относительную ошибку аппроксимации по формуле:

Относительная ошибка аппроксимации

Расчёт средней ошибки аппроксимации

Рисунок 9 Расчёт средней ошибки аппроксимации

Средняя ошибка аппроксимации рассчитывается по формуле:

Формула и расчёт средней ошибки аппроксимации

Качество построенной модели оценивается как хорошее, так как  Средняя ошибка аппроксимации не превышает 8 – 10%.

6. Из таблицы с регрессионной статистикой (Рисунок 4) выпишем фактическое значение F-критерия Фишера: Фактическое значение F-критерия

Табличное значение F-критерия

Поскольку Фактическое значение F-критерия больше табличногопри 5%-ном уровне значимости, то можно сделать вывод о значимости уравнения регрессии (связь доказана).

8. Оценку статистической значимости параметров регрессии проведём с помощью t-статистики Стьюдента и путём расчёта доверительного интервала каждого из показателей.

Выдвигаем гипотезу Н0 о статистически незначимом отличии показателей от нуля:

параметры уравнения и коэффициент корреляции равны нулю.

Табличное значение t-критериядля числа степеней свободы Число степеней свободы

На рисунке 7 имеются фактические значения t-статистики:

Расчётные значения t-критерия для параметров регрессии

t-критерий для коэффициента корреляции можно рассчитать двумя способами:

I способ: Расчётное значение t-критерия для коэффициента корреляции 

где Случайная ошибка коэффициента корреляции– случайная ошибка коэффициента корреляции.

Данные для расчёта возьмём из таблицы на Рисунке 7.

Расчёт t-критерия для коэффициента корреляции

II способ: Расчёт t-статистики для коэффициента корреляции

Фактические значения t-статистики превосходят табличные значения:

Сравнение расчётных и табличных значений t-критерия

Сравнение фактического и табличного t-критерия для показателя корреляции

Поэтому гипотеза Н0 отклоняется, то есть параметры регрессии и коэффициент корреляции не случайно отличаются от нуля, а статистически значимы.

Доверительный интервал для параметра a определяется как

Формула расчёта доверительного интервала для параметра а

Для параметра a 95%-ные границы как показано на рисунке 7 составили:

Доверительный интервал для параметра а

Доверительный интервал для коэффициента регрессии определяется как

Формула расчёта доверительного интервала коэффициента регрессии

Для коэффициента регрессии b 95%-ные границы как показано на рисунке 7 составили:

Доверительный интервал для коэффициента регрессии

Анализ верхней и нижней границ доверительных интервалов приводит к выводу о том, что с вероятностью Значение вероятности параметры a и b, находясь в указанных границах, не принимают нулевых значений, т.е. не являются статистически незначимыми и существенно отличны от нуля.

7. Полученные оценки уравнения регрессии позволяют использовать его для прогноза. Если прогнозное значение прожиточного минимума составит:

Расчёт прогнозного значения фактора

Тогда прогнозное значение прожиточного минимума составит:

Расчёт прогнозного значения результата

Ошибку прогноза рассчитаем по формуле:

Формула средней ошибки прогнозируемого индивидуального значения у

где Сумма квадратов отклонений фактического значения от среднего

Дисперсию посчитаем также с помощью ППП Excel. Для этого:

1) Активизируйте Мастер функций: в главном меню выберете Формулы / Вставить функцию.

2) В окне Категория выберете Статистические, в окне функция – ДИСП.Г. Щёлкните по кнопке ОК.

3) Заполните диапазон, содержащий числовые данные факторного признака. Нажмите ОК.

Расчёт дисперсии

Рисунок 10 Расчёт дисперсии

Получили значение дисперсии Дисперсия фактора

Для подсчёта остаточной дисперсии на одну степень свободы воспользуемся результатами дисперсионного анализа как показано на Рисунке 7.

Формула и расчёт остаточной дисперсии на одну степень свободы

Расчёт средней ошибки прогнозируемого индивидуального значения у

Доверительные интервалы прогноза индивидуальных значений у при Прогнозное значение фактора с вероятностью 0,95 определяются выражением:

Формула доверительного интервала прогноза индивидуальных значений у

Расчёт доверительных интервалов прогноза индивидуальных значений у

Доверительный  интервал прогноза

Интервал достаточно широк, прежде всего, за счёт малого объёма наблюдений. В целом выполненный прогноз среднемесячной заработной платы оказался надёжным.

Условие задачи взято из: Практикум по эконометрике: Учеб. пособие / И.И. Елисеева, С.В. Курышева, Н.М. Гордеенко и др.; Под ред. И.И. Елисеевой. – М.: Финансы и статистика, 2003. – 192 с.: ил.

Понравилась статья? Поделить с друзьями:
  • Погашение процентов кредита excel
  • Под термином стиль в текстовом редакторе ms word понимается
  • Погашение кредит графика платежей excel
  • Под термином стиль в microsoft word понимается
  • Повышение навыков работы в excel