Види лінійної регресії

В цьому розділі ми розглянемо різні види регресій,а також таких, що можуть бути зведені до стандартної 
лінійної регресії:
1. Визначення сезонних коливань.
2. Функція Коба-Дугласа.

<< Statistics`LinearRegression`

<< Statistics`ContinuousDistributions`

1. Визначення сезонних коливань

Нехай потрібно проаналізувати часовий ряд на наявність сезонних коливань:

y = {12, 18, 6, 26, 27, 30, 36, 36, 51, 58, 48, 56, 67, 70, 74, 80, 
          91, 92, 90, 100, 114, 118, 106, 116, 139, 128, 126, 
          148};

Спочатку потрібно побудувати фіктивні змінні  a, які дорівнюють 1, якщо спостерігається i-ий сезон та 0 в 
протилежному випадку:

l = Length[y];
q1 = 
        Table[If[Mod[i,  4] == 1,  1,  0] ,  {i, 1, l}];
q2 = 
        Table[If[Mod[i,  4] == 2,  1,  0] ,  {i, 1, l}];
q3 = 
        Table[If[Mod[i,  4] == 3,  1,  0] ,  {i, 1, l}];

Змінна Trend міститиме числа від 1 до l:

Trend = Table[i,  {i, 1, l}];

\(TextForm\`\(Розглянемо\ \(моделі : 

            1. \ y\) = β\_0 + \(β\_1\) q\_1 + \(β\_2\) 
            q\_2 + \(β\_3\) q\_3 + e;\)\)
2.  y = (Subscript[β, 0]) + (Subscript[β, 1]) (Subscript[q, 1]) + (Subscript[β, 2]) 
          (Subscript[q, 2]) + (Subscript[β, 3]) (Subscript[q, 3]) + (Subscript[β, 4]) 
          t + e.

Z1 = Transpose[{q1, q2, q3, y}];
Z2 = Transpose[{q1, q2, q3, Trend,  y}];

r1 = Regress[Z1,  {t1, t2, t3}, {t1, t2, t3}]

r2 = Regress[Z2,  {t1, t2, t3, t4}, {t1, t2, t3, t4}]

Print[RSquared  /. r1, "  ",  RSquared  /. r2];

Зверніть увагу, що в перших двох випадках компілятор видав попередження про перевизначеність регресії. 
Це відбулося внаслідок того, що від змінної a легко можна позбутися шляхом перепозначення коефіцієнтів 
(підробиці розглядалися на лекції). Таким чином бажано будувати регресію з найменшою кількістю змінних, 
хоча і ця порада не може бути незаперечною.
Для ілюстрації побудуємо графік останньої регресії (після побудови збільшіть його, щоб краще побачити 
регресійну залежність):

<< Graphics`MultipleListPlot`;

f = Fit[Z2,  {t1, t2, t3, t4}, {t1, t2, t3, t4}];
y1 = 
        Table[f  /. {t4 -> i,  t1 -> q1[[i]],  t2 -> q2[[i]],  
              t3 -> q3[[i]]},  {i, 1, Length[y]}];
Z = Transpose[{Trend,  y}];
Z1 = Transpose[{Trend, y1}];

MultipleListPlot[Z, Z1,  PlotJoined -> {False,  True}, 
        PlotStyle -> {RGBColor[0, 1, 0],  RGBColor[1, 0, 0]}];

2. Функція Коба-Дугласа

\(TextForm\`\(\(		\ \)\(y = \(β\_0\) \(K\^β\_1\) 
          L\^β\_2 + e, \ 
\(де\ \ \ y\  - \ валовий\ випуск;\)

    \ \ \ \ \ \ \ \ \(K - \ капітал;\)

    \ \ \ \ \ \ \ \ L\  - \(\(пряця\)\(.\)\)\)\)\)

Y=\({189.8, 172.1, 159.1, 135.6, 132. , 141.8, 153.9, 171.5, 
          183. , 173.2, 188.5, 205.5, 236. , 
\ \ 257.8, 277.5, 291.1, 
          284.5, 274. , 279.9, 297.6, 297.7, 328.9, 351.4, 360.4, 
          378.9, 
\ \ 375.8, 406.7, 416.3, 422.8, 418.4, 445.7, 457.3, 
          466.3, 495.3, 515.5, 544.1, 579.2, 
\ \ 615.6, 631.1}\);
L=\({173.3, 165.4, 158.2, 141.7, 141.6, 148. , 154.4, 163.5, 
          172. , 161.5, 168.6, 176.5, 192.4, 
\ \ 205.1, 210.1, 208.8, 
          202.1, 213.4, 223.6, 228.2, 221.3, 228.8, 239. , 241.7, 
          245.2, 
\ \ 237.4, 245.9, 251.6, 251.5, 245.1, 254.9, 259.6, 
          258.1, 264.6, 268.5, 275.4, 285.3, 
\ \ 297.4, 305. }\);
K=\({87.8, 87.8, 84. , 78.3, 76.6, 76. , 77.7, 79.1, 80. , 77.6, 
          81.4, 87. , 96.2, 104.4, 110. , 
\ \ 107.8, 102.1, 97.2, 105.9, 
          113. , 114.9, 124.1, 134.5, 139.7, 147.4, 148.9, 158.6, 
          167.1, 
\ \ 171.9, 173.1, 182.5, 189. , 194.1, 202.3, 205.4, 
          215.9, 225. , 236.2, 247.9}\);

Для того, щоб звести модель до лінійної регресії, прологарифмуємо функцію:

Z = Log[Transpose[{L, K,  Y}]];

Оцінимо модель:

r = Regress[Z,  {t1, t2}, {t1, t2}]

Тепер знаходимо кінцеву відповідь:

(Subscript[β, 0]) = 
        Exp[(ParameterTable  /. r)[[1, 1, 1]]];
(Subscript[β, 1]) = (ParameterTable  /. r)[[1, 2, 1]];
(Subscript[β, 2]) = (ParameterTable  /. r)[[1, 3, 1]];
\(\(Print[β\_0, "  ", \ β\_1, "  ", \ β\_2];\)\)

Самостійна робота

1. За допомогою комп'ютера розв'язати задачі: 2.21, 2.22, 2.25, 2.27, 2.28.

2. Розв'язати задачу: 2.18.