Программы операций над матрицами
Между двумя командами SPSS: MATRIX и END MATRIX можно поместить программу, позволяющую выполнять операции над матрицами. Для изучения этой возможности рассмотрим два примера.
Петр пошел за покупками в магазин и принес домой 2 литра молока, 10 яиц, 3 плитки шоколада и 5 стаканчиков йогурта, за что он заплатил в сумме 11.80 грн. На следующий день Юля купила 1 литер молока, 15 яиц, 2 плитки шоколада и 4 стаканчика йогурта за 10.01 грн. После этого Николай заплатил 15.07 грн за 3 литра молока, 12 яиц, 5 плиток шоколада и 3 стаканчика йогурта, и, в конце концов, Лене 2 литра молока, 20 яиц, 5 плиток шоколада и 5 стаканчиков йогурта обошлись в 15.74 грн. И никто из них не принес при этом расчетный чек из магазина. Мама хочет узнать, сколько же стоит каждый продукт в отдельности. Петр, который учится в пятом классе, предложил решение при помощи системы линейных уравнений:
2А | + | 10В | + | 3C | + | 5D | 1180 |
А | + | 15В | + | 2С | + | 4D | 1001 |
ЗА | + | 12В | + | 5С | + | 3D | 1507 |
2А | + | 20В | + | 4С | + | 5D | 1574 |
Юля, ученица восьмого класса, привила эти уравнения к матричному виду:
Николай записал эту матрицу в символьной форме:
AX
=
C
И соответственно:
X
=
A
-
1
C
Юля решает эту задачу в SPSS, для чего и пишет следующую программу:
MATRIX
COMPUTE a
=
{
2
,
10
,
3
,
5
;
1
,
15
,
2
,
4
;
3
,
12
,
5
,
3
;
2
,
20
,
4
,
5
}
COMPUTE c
=
{
1180
,
-
1001
,
-
1507
,
1574
}
COMPUTE x
=
INV(a)
*
c
PRINT x
END MATRIX
- Чтобы выполнить эту программу выберите в меню File (Файл) › Open (Открыть) › Syntax… (Синтаксический)
- Выберите тип файлов Syntax (*.sps) (Синтаксис). На прилагаемом учебном диске найдите файл sabine.sps. В окне редактора синтаксиса появится необходимая нам программа.
- Выберите теперь Edit (Правка) › Select All (Выделить все)
- Начните выполнение программы нажатием кнопки Run Current (Выполнить текущее задание).
В окне просмотра появятся результаты расчета:
119.0000000
26.0000000
134.0000000
56.0000000
Теперь видно, что один литр молока стоит 1.19 грн, одно яйцо 0.26 грн, одна плитка шоколада 1.34 грн и один стаканчик йогурта 0.56 грн. Для написания программ, использующих операции с матрицами, существует множество различных инструкций и функций. Для выяснения их смысла, обращайтесь, пожалуйста, к первоисточнику по SPSS.
В следующем примере мы хотим запрограммировать начальный этап факторного анализа, а именно, рассчитать собственные значения корреляционной матрицы.
- Для этого примера используйте данные из файла ausland.sav, рассмотренного в гл. 19, и наберите в редакторе синтаксиса следующую SPSS-программу:
CORRELATIONS VARIABLES
=
A1
TO A15
/
MATRIX
=
OUT(
*
)
MATRIX
MGET FILE
=
*
/
TYPE
=
CORR
CALL eigen(cr, evec, ewerte)
PRINT ewerte
END MATRIX
- Выберите в меню Edit (Правка) › Select All (Выделить все)
- Начните выполнение программы нажатием кнопки со значком Run Current (Выполнить текущее задание).
После этого в окне просмотра будут показаны собственные значения; первые пять из них выглядят следующим образом:
EWERTE
5.146239283
1.945444977
1.414941459
0.990117365
0.935705222
Вычисленные собственные значения полностью соответствуют результатам, полученным в гл. 19.