Глава 11

Вычислительные алгоритмы построения регрессии

[20/55%]
Показать
LaTeX
Задача 11.1

Напишите программу, реализующую алгоритм Грама-Шмидта (алгоритм 11.3 в разделе 11.3). Опробуйте свою программу на данных Longley и на полиномиальных приближениях, описанных в примере 11.3 в разделе 11.8.4. Сравните свои результаты с результатами в примерах 11.2 и 11.3.

?
Задача 11.2

Проверьте формулы для алгоритма обновления в разделе 11.7.

?
Задача 11.3

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

?
§
Задача 11a.1

Вычислите алгебраически решение системы линейных уравнений, соответствующей матрице

[111111+ϵ221213] \left[\begin{smallmatrix} 1 & 1 & 1 & 1 \\ 1 & 1+\epsilon & 2 & 2 \\ 1 & 2 & 1 & 3 \end{smallmatrix}\right]

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

−2−1/ϵ1/ϵ -\frac{2-1 / \epsilon }{1 / \epsilon }

а при использовании частичного выбора ведущего элемента — как 1−2ϵ1-2 \epsilon. Прокомментируйте точность этих двух методов, если ϵ\epsilon очень мало.

?
Задача 11a.2

Покажите, что применение одного шага гауссова исключения к матрице XTX\mathbf{X}^{T} \mathbf{X} даёт матрицу

[nnx‾0X~TX~] \left[\begin{smallmatrix} n & n \overline{\mathbf{x}} \\ \mathbf{0} & \widetilde{\mathbf{X}}^{T} \widetilde{\mathbf{X}} \end{smallmatrix}\right]

где X~\widetilde{\mathbf{X}} — центрированная версия X\mathbf{X}.

?
Задача 11a.3

Проверьте (11.15) и, следовательно, покажите, что RSS\sqrt{\mathrm{RSS}} задаётся (p+1,p+1)(p+1, p+1)-м элементом матрицы RA\mathbf{R}_{A}.

?
Задача 11a.4

Если RTR\mathbf{R}^{T} \mathbf{R} — разложение Холецкого матрицы XTX\mathbf{X}^{T} \mathbf{X}, покажите, что

det⁡(XTX)=∏i=1prii2 \operatorname {det}\left(\mathbf{X}^{T} \mathbf{X}\right) = \prod _{i = 1}^{p} r_{i i}^{2}
?
§
Задача 11b.1

Пусть q1,…,qp\mathbf{q}_{1}, \ldots , \mathbf{q}_{p} — векторы, построенные в алгоритме 11.3. Покажите, что q1,…,qj\mathbf{q}_{1}, \ldots , \mathbf{q}_{j} — ортонормированный базис для C(a(1),…,a(j))\mathcal{C}\left(\mathbf{a}^{(1)}, \ldots , \mathbf{a}^{(j)}\right) при j=1,2,…,pj = 1,2, \ldots , p.

?
Задача 11b.2

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

?
Задача 11b.3

Выведите формулы (11.23), (11.24) и (11.25).

?
Задача 11b.4

Докажите, что в начале этапа jj алгоритма MGSA столбцы a(1),…,a(j)\mathbf{a}^{(1)}, \ldots , \mathbf{a}^{(j)} ортогональны, ортогональны a(j+1),…,a(p)\mathbf{a}^{(j+1)}, \ldots , \mathbf{a}^{(p)} и порождают первые jj столбцов исходной матрицы.

?
Задача 11b.5

Покажите, что произведение ортогональных матриц ортогонально.

?
Задача 11b.6

Покажите, что если Qp,Qn−p\mathbf{Q}_{p}, \mathbf{Q}_{n-p} и r1\mathbf{r}_{1} определены как в (11.36), то предсказанные значения Y^\widehat{\mathbf{Y}} задаются формулой

Y^=(Qp,Qn−p)(r10). \widehat{\mathbf{Y}} = \left(\mathbf{Q}_{p}, \mathbf{Q}_{n-p}\right)\binom {\mathbf{r}_{1}}{\mathbf{0}} .
?
Задача 11b.7

Пусть Gih\mathbf{G}_{i h} задано формулой (11.40)(11.40) и D~=diag⁡(d~1,…,d~n)\widetilde{\mathbf{D}} = \operatorname {diag}\left(\tilde{d}_{1}, \ldots , \tilde{d}_{n}\right). Покажите, что существует диагональная матрица D=diag⁡(d1,…,dn)\mathbf{D} = \operatorname {diag}\left(d_{1}, \ldots , d_{n}\right) и быстрый ротатор вида (11.45), такие что Gih=DMD~−1\mathbf{G}_{i h} = \mathbf{D M} \tilde{\mathbf{D}}^{-1}. Покажите, что

dl=d~l(l≠i,l≠h)di=sd~hdh=sd~iα=r/tη=1/rt \begin{aligned} d_{l} & = \tilde{d}_{l} \quad (l \neq i, l \neq h) \\ d_{i} & = s \tilde{d}_{h} \\ d_{h} & = s \tilde{d}_{i} \\ \alpha & = r / t \\ \eta & = 1 / r t \end{aligned}

где t=s/ct = s / c и r=d~h/d~ir = \tilde{d}_{h} / \tilde{d}_{i}.

?
§
Задача 11c.1

Докажите, что число обусловленности Xw\mathbf{X}_{w} задаётся формулой (11.61).

?
Задача 11c.2

Повторите вычисления из примера 11.3, используя функцию f(t)=cos⁡4tf(t) = \cos 4 t вместо exp⁡(sin⁡4t)\exp (\sin 4 t). Сохраняется ли при этом ранжирование методов? Пример кода на R приведён после упражнения 3 ниже.

?
Задача 11c.3

Измените приведённый ниже код так, чтобы подсчитывать число операций с плавающей точкой (flops), требуемых для выполнения каждого алгоритма. Насколько точны формулы, приведённые в таблице 11.2? ####################################################### # MGSA function: calculates Q and R^{-1} of QR decomp mgsa<-function(A){ n<-dim(A)[1] p<-dim(A)[2] GG<-diag(p) for(i in 1:(p-1)){ a<-A[,i] denom<-sum(aa) G<-numeric(p) for(j in (i+1):p){ num<-sum(A[,j]a) G[j]<- -num/denom A[,j]<-A[,j]+aG[j] } GG<-GG + outer(GG[,i],G) } list(W=A,G=GG) } ####################################################### #Householder function: calculates R of QR decomp of A house<-function(A){ n<-dim(A)[1] p<-dim(A)[2] for(j in 1:p){ indices<-j:n # construct Householder vector u<-numeric(n) u[indices]<-A[indices,j] unorm1<-sqrt(sum(u[indices]^2)) unorm2<-sum(u[indices[-1]]^2) uu<-u[j] u[j]<-if(uu<0)uu-unorm1 else -unorm2/(uu+unorm1) gamma<-0.5(unorm2 + u[j]^2) # multiply by householder matrix A[indices,j]<-0 A[j,j]<-unorm1 if(j==p)return(A) for(l in (j+1):p){ k<-sum(A[indices,l]u[indices])/gamma A[indices,l]<-A[indices,l] - ku[indices] } } A } ####################################################### # Givens function: calculates R of QR decomp of A givens<-function(A){ n<-dim(A)[1] p<-dim(A)[2] for(j in 1:(p-1)){ indices<-j:p for(i in (j+1):n){ sqr<-sqrt(A[j,j]^2+A[i,j]^2) cc<-A[j,j]/sqr ss<-A[i,j]/sqr temp<-ccA[j,indices] + ssA[i,indices] A[i,indices]<- -ssA[j,indices] + ccA[i,indices] A[j,indices]<-temp } } A }

?
§
Задача 11d.1

Предположим, что мы подгоняем регрессию методом наименьших квадратов к подмножеству JJ из nn имеющихся наблюдений. Пусть XJ\mathbf{X}_{J} — подматрица матрицы X\mathbf{X}, соответствующая наблюдениям из JJ, пусть eie_{i} — ii-й остаток из этой подгонки, i=1,…,ni = 1, \ldots , n, и пусть hij=xiT(XJTXJ)−1xjh_{i j} = \mathbf{x}_{i}^{T}\left(\mathbf{X}_{J}^{T} \mathbf{X}_{J}\right)^{-1} \mathbf{x}_{j}. Покажите, что если мы удаляем наблюдение i∈Ji \in J и добавляем наблюдение j∉Jj \notin J, то изменение остаточной суммы квадратов равно

ej2(1−hii)−ei2(1+hjj)+2eiejhij(1−hii)(1+hjj)+hij2 \frac{e_{j}^{2}\left(1-h_{i i}\right)-e_{i}^{2}\left(1+h_{j j}\right)+2 e_{i} e_{j} h_{i j}}{\left(1-h_{i i}\right)\left(1+h_{j j}\right)+h_{i j}^{2}}
?
Задача 11d.2

Используя результат упражнения 1 выше, напишите функцию на R, реализующую метод Хокинса для вычисления приближения к оценке LTS.

?
Задача 11d.3

Напишите функцию на R, реализующую алгоритм Рупперта для вычисления приближения к оценке LTS. Вам потребуется обратиться к работе Ruppert [1992] за деталями алгоритма. Разработайте небольшую симуляцию для сравнения алгоритма Рупперта с алгоритмом Хокинса.

?