26.4 Программы операций над матрицами
Между двумя командами 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В | + | зс | + | 5D | 1180 |
А | + | 15В | + | 2С | + | 4D | 1001 |
ЗА | + | 12В | + | 5С | + | 3D | 1507 |
2А | + | 20В | + | 4С | + | 5D | 1574 |
Юля, ученица восьмого класса, привила эти уравнения к матричному виду:
Николай записал эту матрицу в символьной форме:
АХ=С
и соответственно
X = А-1 С
Юля решает эту задачу в SPSS, для чего и пишет следующую программу:
MATRIX.
COMPUTE a={2 ,10 ,3,5;1,15,2,4;3,12,5,3;2,20,4,5}.
COMPUTE с={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
,990117365
,935705222
Вычисленные собственные значения полностью соответствуют результатам, полученным в гл. 19.