Previous Page  8 / 18 Next Page
Information
Show Menu
Previous Page 8 / 18 Next Page
Page Background

Парная регрессия в

Microsoft Excel

с использованием Р-сплайнов

ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 5

121

‘==============================================================

‘ Входы программы

‘ x

0

– координата x первого элемента случайной выборки данных y

‘ n – число интервалов дискретизации по оси x

‘ h – равномерный шаг дискретизации по оси x

‘ y

0

...y

n

– элементы случайной выборки данных y

‘ n

k

- число элементов данных между соседними узлами P-сплайна

‘ ξ

0

...ξ

k

– ‘ координаты узлов P-сплайна на оси x

‘ β

0

1

p1

...β

pk

– начальные значения коэффициентов базисных

функций

‘ λ - параметр сглаживания

‘ Параметры, переменные и код программы

k=div(n/n

k

) ‘ всего узлов сплайна, кроме левого начального

‘ === Цикл вычисления значений P-сплайна ===

‘ i,j – счетчики циклов

for i=0 to n ‘

цикл для общей P-сплайновой табличной модели

x

i

=ifelse(i>0;x

i-1

+h;x

0

)

‘ цикл вычисления значений базисных функций f

j

(x

i

)

f

1

(x

i

)=β

0

f

2

(x

i

)=β

1

*x

i

for j=3 to k+2

f

j

(x

i

)=ifelse(x

i

j

>0;β

p(j-2)

*(x

i

j

);0)

next

 

2

i

j

i

j 1

ˆ

k

y f x

‘ i-е значение функции регрессии

dy

i

=y

i

i

‘ i-й остаток

next

2

i

i 0

s

F dy

n

‘ сумма квадратов остатков

k

2

λ

pi

i 1

F

 

‘ сумма квадратов сплайн-коэффициентов

F=F

s

+λF

λ

‘ значение целевой функции

‘ === Статистика остатков ===

R

2

=cor

2

(y,ŷ) ‘ коэффициент детерминации

dy

=mean(

dy

) ‘ среднее значение остатков

   

/ -

s

n n 1

var

dy

‘ стандартное отклонение

 

β

s var

p

β

DW=2(1−cor(ŷ,ŷ

τ

)) ‘ коэффициент автокорреляции Дарбина — Уотсона

==============================================================

Цикл for i=0 to n для рекурсивной P-сплайновой табличной модели

:

==============================================================

for i=0 to n

x

i

=ifelse(i>0;x

i-1

+h;x

0

)

kk

i

=ifelse(i=0;β1;ifelse(xi mod h=0;β

pi

;0))

‘ текущий коэффициент наклона ломаной линии P-сплайна

kcur

i

=ifelse(i<2;k

0

;kcur

i-1

+ifelse(xi mod h=0;kk

i-1

;0))

ŷ

i

=ifelse(i=0;β0; ŷ

i-1

+kcur

i

*h

i

) ‘ ŷ-функция регрессии

dy

i

=y

i

i

‘ i-й остаток

next

‘==============================================================