Парная регрессия в
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
‘==============================================================