Учебно-методический комплекс по дисциплине Цифровая обработка сигналов - файл n112.htm

приобрести
Учебно-методический комплекс по дисциплине Цифровая обработка сигналов
скачать (11114.3 kb.)
Доступные файлы (132):
!BaseCustomizer.exe
n2.jpg124kb.14.09.2011 15:06скачать
n5.doc1089kb.14.09.2011 15:06скачать
n6.htm328kb.14.09.2011 15:06скачать
n7.jpeg63kb.14.09.2011 15:06скачать
n8.exe
n9.ini
n10.mbd
n12.db
n13.exe
n14.inf
n15.ini
n16.jpeg48kb.14.09.2011 15:06скачать
n17.db
n19.mcd
n20.mcd
n21.mcd
n22.mcd
n23.mcd
n24.mcd
n25.mcd
n26.mcd
n27.mcd
n28.mcd
n29.mcd
n30.mcd
n31.mcd
n32.prn
n33.prn
n34.mcd
n35.mcd
n36.mcd
n37.mcd
n38.mcd
n39.mcd
n40.mcd
n41.mcd
n42.prn
n43.prn
n44.mcd
n45.mcd
n46.mcd
n47.mcd
n48.mcd
n49.mcd
n50.mcd
n51.mcd
n52.mcd
n53.mcd
n54.mcd
n55.mcd
n56.mcd
n57.prn
n58.prn
n59.mcd
n60.mcd
n61.mcd
n62.mcd
n63.mcd
n64.mcd
n65.mcd
n66.prn
n67.prn
n68.mcd
n69.mcd
n70.mcd
n71.mcd
n72.mcd
n73.mcd
n74.mcd
n75.mcd
n76.mcd
n77.prn
n78.prn
n79.prn
n80.mcd
n81.mcd
n82.mcd
n83.mcd
n84.mcd
n85.mcd
n86.mcd
n87.mcd
n88.mcd
n89.mcd
n90.prn
n91.prn
n92.mcd
n93.mcd
n94.mcd
n95.mcd
n96.mcd
n97.mcd
n98.mcd
n99.mcd
n100.mcd
n101.prn
n102.prn
n103.jpg22kb.14.09.2011 15:06скачать
n104.jpeg48kb.14.09.2011 15:06скачать
n106.htm138kb.14.09.2011 15:06скачать
n107.htm231kb.14.09.2011 15:06скачать
n108.htm386kb.14.09.2011 15:06скачать
n109.htm276kb.14.09.2011 15:06скачать
n110.htm189kb.14.09.2011 15:06скачать
n111.htm206kb.14.09.2011 15:06скачать
n112.htm94kb.14.09.2011 15:06скачать
n113.htm282kb.14.09.2011 15:06скачать
n114.htm209kb.14.09.2011 15:06скачать
n115.htm121kb.14.09.2011 15:06скачать
n116.htm97kb.14.09.2011 15:06скачать
n117.htm133kb.14.09.2011 15:06скачать
n118.htm265kb.14.09.2011 15:06скачать
n119.htm285kb.14.09.2011 15:06скачать
n120.htm236kb.14.09.2011 15:06скачать
n121.doc2344kb.14.09.2011 15:06скачать
n122.doc3719kb.14.09.2011 15:06скачать
n123.txt2kb.14.09.2011 15:06скачать
n124.jpg22kb.14.09.2011 15:06скачать
n125.jpeg48kb.14.09.2011 15:06скачать
n127.htm68kb.14.09.2011 15:06скачать
n128.htm71kb.14.09.2011 15:06скачать
n129.htm58kb.14.09.2011 15:06скачать
n130.htm186kb.14.09.2011 15:06скачать
n131.htm97kb.14.09.2011 15:06скачать
n132.htm47kb.14.09.2011 15:06скачать
n133.htm224kb.14.09.2011 15:06скачать
n134.htm61kb.14.09.2011 15:06скачать
n135.txt6kb.14.09.2011 15:06скачать
n136.ask
n137.csk
n138.ico

n112.htm


Тема 15.  РЕГРЕССИЯ.

Регрессия, это инструмент статистики,  на субъективность которого информатики могут сваливать все свои ошибки.

Фарид Бадрутдинов. Татарин, Уральский геофизик.

Электронные мозги могут ошибаться гораздо точнее.

Габриэль Лауб. Немец, афорист.

Содержание

Введение.

1. Постановка задачи регрессии.

2. Линейная регрессия. Общий принцип. Реализация в Mathcad.

3. Полиномиальная регрессия. Одномерная регрессия. Зональная регрессия.

4. Нелинейная регрессия. Линейное суммирование произвольных функций. Регрессия общего типа. Типовые функции регрессии Mathcad.

5. Сглаживание данных.

6. Предсказание зависимостей.

ВВЕДЕНИЕ

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

Термин "регрессия" появился при исследовании соотношения роста родителей и их детей, в которых было установлено, что рост "регрессирует" к среднему, т.е. высокие родители имеют более низких детей, а низкие родители – более высоких. 

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

15.1.  постановка задачи регрессии

Математическая постановка задачи регрессии заключается в следующем. Зависимость величины (числового значения) определенного свойства случайного процесса или физического явления Y от другого переменного свойства или параметра Х, которое в общем случае также может относиться к случайной величине, зарегистрирована на множестве точек xk множеством значений yk, при этом в каждой точке зарегистрированные значения yk и xk отображают действительные значения Y(xk) со случайной погрешностью sk, распределенной, как правило, по нормальному закону. По совокупности значений yk требуется подобрать такую функцию f(xk, a0, a1, … , an), которой зависимость Y(x) отображалась бы с минимальной погрешностью. Отсюда следует условие приближения:

yk = f(xk, a0, a1, … , an) + sk.

Функцию f(xk, a0, a1, … , an) называют регрессией величины y на величину х. Регрессионный анализ предусматривает задание вида функции f(xk, a0, a1, … , an) и определение численных значений ее параметров a0, a1, … , an, обеспечивающих наименьшую погрешность приближения к множеству значений yk. Как правило, при регрессионном анализе погрешность приближения вычисляется методом наименьших квадратов (МНК). Для этого выполняется минимизация функции квадратов остаточных ошибок:

s(a0, a1, … , an) =[f(xk, a0, a1, … , an) - yk]2.

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

15.2.  линейная  регрессия [25]

Общий принцип. Простейший способ аппроксимации по МНК произвольных данных sk - с помощью полинома первой степени, т.е. функции вида y(t) = a+bt, которую обычно называют линией регрессии. С учетом дискретности данных по точкам tk, для функции остаточных ошибок имеем:

s(a, b) =[(a+b tk) - sk]2.

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

2((a+b tk)-sk) º a1 + btksk = 0,

2((a+b tk)-sk) tk º atk + btk2sk tk = 0,

Решение данной системы уравнений в явной форме для К-отсчетов:

b = [Ktk sktksk] / [Ktk2 – (tk)2] = (- ) / (- ).

a = [sk – btk] /K = - b

Полученные значения коэффициентов используем в уравнении регрессии y(t) = a+bt. Прямая (s – ) = b (t - ) называется линией регрессии s по t. Для получения линии регрессии t по s,  (t - )  = b (s – ), аргумент b в этой формуле заменяется на значение b = (- ) / (- ).

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

Реализация в Mathcad. Линейная регрессия в системе Mathcad выполняется по векторам аргумента Х и отсчетов Y функциями:

Ø      intercept(X,Y) – вычисляет параметр а, смещение линии регрессии по вертикали;

Ø      slope(X,Y) – вычисляет  параметр b, угловой коэффициент линии регрессии.

            Расположение отсчетов по аргументу Х произвольное. Функцией corr(X,Y) дополнительно можно вычислить коэффициент корреляции Пирсона. Чем он ближе к 1, тем точнее обрабатываемые данные соответствуют линейной зависимости.

            Пример выполнения линейной регрессии приведен на рис. 15.2.1.

18

Рис. 15.2.1.

15.3.  полиномиальная  регрессия [25]

            Одномерная полиномиальная регрессия с произвольной степенью n полинома и с произвольными координатами отсчетов в Mathcad выполняется функциями:

Ø      regress(X,Y,n) – вычисляет вектор S для функции interp(…), в составе которого находятся коэффициенты ki полинома n-й степени;

Ø      interp(S,X,Y,x) – возвращает значения функции аппроксимации по координатам х.

Функция interp(…) реализует вычисления по формуле:

f(x) = k0 + k1 x1 + k2 x2 + … + kn xnki xi.

            Значения коэффициентов ki могут быть извлечены из вектора S функцией

submatrix(S, 3, length(S), 0, 0).

На рис. 15.3.1 приведен пример полиномиальной регрессии с использованием полиномов 2, 3 и 8-й степени. Степень полинома обычно устанавливают не более 4-6 с последовательным повышением степени, контролируя среднеквадратическое отклонение функции аппроксимации от фактических данных. Нетрудно заметить, что по мере повышения степени полинома функция аппроксимации приближается к фактическим данным, а при степени полинома, равной количеству отсчетов минус 1, вообще превращается в функцию интерполяции данных, что не соответствует задачам регрессии. 

2

Рис. 15.3.1. Одномерная полиномиальная регрессия.

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

2

Рис. 15.3.2.

loess(X, Y, span),

которая формирует специальный вектор S для функции interp(S,X,Y,x). Аргумент span > 0 в этой функции (порядка 0.1-2) определяет размер локальной области и подбирается с учетом характера данных и необходимой степени их сглаживания (чем больше span, тем больше степень сглаживания данных).

            На рис. 15.3.2 приведен пример вычисления регрессии модельной кривой (отрезка синусоиды) в сумме с шумами. Вычисления выполнены для двух значений span с определением среднеквадратического приближения к базовой кривой. При моделировании каких-либо случайных процессов и сигналов на высоком уровне шумов по минимуму среднеквадратического приближения может определяться оптимальное значение параметра span.

15.4.  нелинейная  регрессия [25]

Линейное суммирование произвольных функций. В Mathcad имеется возможность выполнения регрессии с приближением к функции общего вида в виде весовой суммы функций fn(x):

f(x, Kn) = K1 f1(x) + K2 f2(x) + … + KN fN(x),

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

2

Рис. 15.4.1. Обобщенная регрессия.

Реализуется обобщенная регрессия по векторам X, Y и f функцией

Ø      linfit(X,Y,f),

которая вычисляет значения коэффициентов Kn. Вектор f должен содержать символьную запись функций fn(x). Координаты xk в векторе Х могут быть любыми, но расположенными в порядке возрастания значений х (с соответствующими отсчетами значений yk в векторе Y). Пример выполнения регрессии приведен на рис. 15.4.1. Числовые параметры функций f1-f3 подбирались по минимуму среднеквадратического отклонения.

2

Рис. 15.4.2.

         Регрессия общего типа. Второй вид нелинейной регрессии реализуется путем подбора параметров ki к заданной функции аппроксимации с использованием функции

genfit(X,Y,S,F),

которая возвращает коэффициенты ki, обеспечивающие минимальную среднюю квадратическую погрешность приближения функции регрессии к входным данным (векторы Х и Y координат и отсчетов). Символьное выражение функции регрессии и символьные выражения ее производных по параметрам ki записываются в вектор F. Вектор S содержит начальные значения коэффициентов ki для решения системы нелинейных уравнений итерационным методом. Пример использования метода приведен на рис. 15.4.2.

         Типовые функции регрессии Mathcad. Для простых типовых формул аппроксимации предусмотрен ряд функций регрессии, в которых параметры функций подбираются программой Mathcad самостоятельно. К ним относятся следующие функции:

è2   expfit(X,Y,S) – возвращает вектор, содержащий коэффициенты a, b и c экспоненциальной функции y(x) = a·exp(b·x)+c. В вектор S вводятся начальные значения коэффициентов a, b и c первого приближения. Для ориентировки по форме аппроксимационных функций и задания соответствующих начальных значений коэффициентов на рисунках слева приводится вид функций при постоянных значениях коэффициентов a и c.

2è   lgsfit(X,Y,S)  то же, для выражения y(x) = a/(1+c·exp(b·x)).

 

 

 

 

2è   pwrfit(X,Y,S)  то же, для выражения y(x) = a·xb+c.

            è   sinfit(X,Y,S)  то же, для выражения y(x) = a·sin(x+b)+c. Подбирает коэффициенты для синусоидальной функции регрессии. Рисунок синусоиды общеизвестен.

2            è   logfit(X,Y) – то же, для выражения y(x)=a ln(x+b)+c. Задания начального приближения не требуется.

            è   medfit(X,Y)  то же, для выражения y(x) = a+b·x, т.е. для функции линейной регрессии. Задания начального приближения также не требуется. График – прямая линия.

 

2

Рис. 15.4.3.

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

15.5.  сглаживание  данных [25]

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

Ø      supsmooth(X,Y) – возвращает вектор линейно сглаженных данных Y, метод наименьших квадратов по k отсчетам с адаптивным выбором значения k с учетом динамики изменения данных. Значения вектора Х должны идти в порядке возрастания.

Ø      ksmooth(X,Y,b) – вычисляет вектор сглаженных данных на основе распределения Гаусса. Параметр b задает ширину окна сглаживания и должен быть в несколько раз больше интервала между отсчетами по оси х.

Ø      medsmooth(Y,b) - вычисляет вектор сглаженных данных по методу скользящей медианы с шириной окна b, которое должно быть нечетным числом.

2

Рис. 15.5.1.

            Сопоставление методов сглаживания приведено на рис. 15.5.1. Как можно видеть на этом рисунке, качество сглаживания функциями supsmooth(X,Y) и ksmooth(X,Y,b) практически идентично (при соответствующем выборе параметра b). Медианный способ уступает по своим возможностям двум другим. Можно заметить также, что на концевых точках интервала задания данных качество сглаживания ухудшается, особенно в медианном способе, который вообще не может выполнять свои функции на концевых интервалах длиной b/2.     

15.6.  предсказание  зависимостей [25]

2

Рис. 15.6.1.

            Функция Mathcad

predict(Y,n,K),

где n – степень полинома аппроксимации вектора равномерно распределенных данных Y, позволяет вычислить вектор К точек предсказания (экстраполяции) поведения произвольного сигнала за пределами его задания (по возрастанию координат х). Предсказание тем точнее, чем более гладкую форму имеет заданный сигнал.

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

 

литература

25. Дьяконов В.П. Вейвлеты. От теории к практике. – М.: СОЛОН-Р, 2002. – 448 с.

26. Корн Г., Корн Е. Справочник по математике для научных работников и инженеров. – М.: Наука, 1984. [kgl]

 

 

все лекции
содержание


Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации