lr3 (542534), страница 2
Текст из файла (страница 2)
Сформируем k = 20 выборок объёма n = 10 и определим значения оценок â1, â2 и â3 на каждой выборке. Предварительно получим массив случайных чисел, распределенных равномерно на отрезке [0, a]; из этого массива в дальнейшем будем формировать выборки для значений n= 10, 40, 160; всего k.nmax = 20.160 = 3200.
Сгенерируем случайные числа:
процедура H.5.Random Generation, в окне Distribution number укажем 17( Uniform); после F6 на запрос пакета о параметрах отвечаем : Lower limit : 0, Upper limit : 10, Number of samples : 3200. Поместим сгенерированные числа ( в ответ на запрос пакета об имени) в переменную EST.z (estimaion - оценивание). Вернёмся в главное меню : Ctrl + Break.
Сформируем k = 20 выборок объемом n = 10:
выберем процедуру A.2. File Operations, введем имя файла в окно file name : EST и в окно Desired oeprations : J (Update) (клавишей "пробел"), образуем новую переменную (клавиша N), введя ее имя в окно new varitable : X, а затем — формирующий ее опреатор в окне Enter assignment :
10 20 RESHAPE z (4)
(на последующий запрос Enter comment можно ответить клавишей ENTER); оператор сформирует из первых 10.20 = 200 значений переменной z матрицу X с 20 столбцами (выборками) по 10 в каждом; X можем посмотреть, подведя курсор на X и нажав D. Распечатаем первые несколько выборок (клавиша F4) определим значения оценок â1, â2 и â3 по каждой выборке (т.е. по каждому столбцу).
Оценка â1
Образуем новую переменную (клавиша N) с именем a1, определив её значение согласно (1) :
(2 * SUM X) / 10 (5)
этот оператор суммирует элементы каждого столбца матрицы X (получается вектор длины k = 20), умножает его элементы на 2 и делит на 10. Посмотрим полученные k = 20 значений оценки â1 : курсор на a1 и клавиша D. Распечатаем a1. Оценим разброс для â1: определим минимальное значение amin и максимальное amax, размах w и ско Sa (табл. 1, как пример).
Оценка â2
Образуем новую переменную с именем а2, определив ее значение по (2):
(11/10)*(MAX X) (6)
Этот оператор определит максимальные значения в каждом столбце матрицы Х и затем умножит на 11/10. посмотрим полученные k =20 значений оценки â2 и распечатаем а2. Определим amin, amax и w и запишем их в таблицу.
Оценка â3
Для вычислений по (3) по каждой из k=20 выборок построим вариационный ряд. Образуем новую переменную с именем Xsort, определив ее оператором
SORTUP X (7),
Он элементы каждого столбца (выборки) матрицы Х расположит в порядке возрастания; этот оператор относится к числу загружаемых, поэтому предварительно следует выполнить загрузку процедурой V.1.Load Operators and Functions (LOAD), опция Mathematical Functions, затем Read, вернуться в главное меню (Ctrl+Break) и в процедуру A.2.File Operations, опция J.(Update).
Образуем новую переменную а3, определив ее значение согласно (3):
Xsort[5;]+Xsort[6;] (8)
Этот оператор выделит строки с номерами 5 и 6 и сложит их (оператор X[n;k] выделяет в матрице Х элемент n-й строки и k-го столбца; оператор X[n], если Х-вектор, выделяет n-й элемент). Посмотрим полученные k = 20 значений оценки â3 и распечатаем их; в табл. 1 запишем результаты.
Определим сразу все необходимые характеристики разброса для наших 3 оценок. Выберем процедуру F.1.Summary Statistics, в окно Data vectors введем в 1 строку а1, во 2 строку - а2, в 3 - а3; в окне Statistics оставим F (Std. deviation - стандартное отклонение, т.е. ско), H (Minimum), I (Maximum), J (Range - размах); результаты выводятся на экран таблицей. Запишем в табл. 1 значение Sа1. Аналогично определим Sа2 и Sа3. Сравнение размахов w и стандартных отклонений Sа для 3 оценок показывает,что оценка â2(х1, ... , хn) наиболее точна, а оценка â3(х1, ... , хn) - наименее.
Сравнение оценок графически (n=10).
Сравним результаты действия оценок â2(х1, ..., хn) и â3(х1, ..., хn).
Один способ.
Образуем вспомогательную переменную k - номер выборки, определив ее
COUNT 20
Этот оператор создает массив целых чисел от 1 до 20. Выберем процедуру F.2.Multiple X-Y Plots, введя в качестве Х переменную k, в качестве Y - а2, второго Y- a3. После F6 на экране наблюдаем значения оценок â2 и â3 на k =20 выборках. Видно, что оценка â2 в среднем точнее, чем â3, хотя и не исключены такие выборки, на которых ошибка оценки â2 будет больше ошибки оценки â3.
Другой способ.
Выбираем процедуру E.1. X - Y Line and Scatterplots. В строку Х введем
а1 , а2, а3
что означает соединение 3-х векторов в один (длиной 3k =60); в строку Y введем
20 REP 1 2 3
что означает создание массива, в котором 20 раз повторена 1, затем 2 и 3. После F6 на экране все значения оценок будут расположены на 3 уровнях, на одном (1) значения â1, на втором (2) - â2, на третьем (3) - â3. Изображение можно отредактировать: сменить надписи и диапазон по Y (от 0 до 4): F5 - Plot options - ... - F6 - Peplot и затем отпечатать (F4).
Комментарии.
1. Вычисления можно было бы сделать иначе, например, определить а1, объединив (4) и (5), оператором
(2 * SUM(10 20 RESHAPE z))/10.
Аналогично - для а2 и а3.
2. Вычислить â3, если бы k было мало, было бы удобнее другим способом, а именно, по формуле â3= :
используем процедуру F.5.Percentiles (PTILE - процентили, т.е. квантили); в окно Data vector введем 2*X[;1], что означает 1-й столбец (1-ю выборку) умножить на 2, в окне Percentages укажем 50% (поскольку х0.5 - выборочная медиана). И так со всеми выборками. Можно было бы также медианы определять процедурой F.1.Summary Statistics.
Оценивание по выборкам объема n=40
Наши действия повторяются.
Выберем процедуру A.2.File Operations, опцию J(Update), file name: EST. Новое значение Х задается теперь не через N=New (так как Х уже существует), а, выставляя курсор на Х, клавишей A=Assign (назначение) и оператором
40 20 RESHAPE z
Пересчитаем оценки â1, â2, â3 :
( 2 * SUM X ) / 40
( 41 / 40 ) * MAX X
SORTUP X
Xsort[20;] + Xsort[21;]
Процедурой F.1.Summary Statistics определим характеристики разброса оценок â1, â2 и â3 и выпишем их в таблицу. Видно, что разброс значений оценок уменьшился по сравнению с n = 10.
Повторим расчеты для n = 160.
Итоговое сравнение
Сравним характеристики точности Sa1, Sa2, Sa3 оценок â1, â2 и â3 при различных n. Для этого построим графики:
образуем, как и выше, новую переменную n; на запрос Enter assigment введем 10 40 160 через пробелы;
образуем переменную Sa1, введя 1.51 0.84 0.50 (из табл. 1);
образуем переменную Sa2, введя 0.53 0.14 0.05;
образуем переменную Sa3, введя 2.35 1.56 0.94;
построим графики процедурой E.2.Multiple X-Y Plots, введя в качестве Х переменную n, а в качестве трех Y - переменные Sa1, Sa2 и Sa3. После F6 на экране появится график с тремя кривыми линиями, из которого ясно, что в оценка â2 наиболее точна, а â3 - наименее. Выведем график на принтер: клавиша F4.
Другой способ получения графика: переменные n, Sa1, Sa2, Sa3 можно не образовывать: в графической процедуре E.2, при заполнении строк X и Y можно писать операторы или массивы чисел; в нашем случае, введем 10 40 160 через пробелы, а в 3 следующие строки - соответствующие значения для Sа.
3. Выполнение в пакете STATISTICA
Оценивание по выборкам объема n = 10
Сформируем k =20 выборок объема n =10 и определим значения оценок a1, a2, a3 на каждой выборке.
Запустим пакет Statistica for Windows, выбрав в меню Basic Statistic/Tables. Îòâåòèì Cancel на предлагаемые запросы (если они будут).
Создание таблицы требуемых размеров
Из пункта меню File выберем команду New Data; укажем имя файла для сохранения будущей информации, например ESTIM--ÎÊ. Теперь на экране таблица 1010, где каждый столбец представляет переменную (название ее вынесено в заголовок столбца). преобразуем эту таблицу к размерам 2010 (20 выборок по 10 наблюдений): кнопка Vars (переменные), или через меню Еditе-Variables, и во всплывшем меню выберем команду Add (добавить). На экране запрос о числе добавляемых переменных (столбцов) и о том, куда их поместить. добавим 10 переменных, проставив 10 в поле Number... to add (набором на клавиатуре или кнопками справа от поля; в поле Insert after укажем имя Var10, после которой будут вставлены в матрицу новые столбцы; затем ОК. Теперь можно убедиться (просмотром таблицы), что в ней 20 столбцов; кроме того, размеры таблицы (в данном случае, 20v*10c) всегда указаны и ее заголовке. Количество строк не изменяем: оно равно 10. Заметим, что если число строк (сase) или столбцов (variable) в таблице превышает необходимое, можно таблицу не уменьшать.
Генерация выборок
Последовательность действий:
клавиша Vars - All specs... (спецификация всех) - появляется окно-таблица, в первом столбце которой находятся названия переменных (var1, var2,..., var20), а в четвертом (Long Name) - функция расчета; выделим первую клетку этого столбца и введем
= rnd(10)
генерация случайных чисел, равномерно распределенных на отрезке [ 0, 10 ]. Скопируем эту запись в буфер обмена:
Edit - Copy
(или кнопкой Copy), а затем перенесем ее в остальные клетки (со 2 по 20):
выделим очередную клетку - Edit - Past (или, короче, кнопкой Past) -...-закроем окно. Выполним сделанные назначения:
кнопка x = ? - All variables - OK.
Сохраним 2 - 3 первые выборки - столбца для того, чтобы в дальнейшем распечатать:
выделение 2 - 3 столбцов - File - Export Data - формат Text - File name: Samples (например).
Распечатать их можно и сразу:
File - Print - Variables (указать, какие именно). Заметим, однако, что сохранить эти выборки или распечатать было бы удобнее ниже, после транспонирования матрицы, чтобы иметь в распечатке горизонтальное расположение, а не вертикальное.
Определение значений оценок â1, â2 и â3 на 20 выборках..
Определим статистики, по которым вычисляются оценки:
выделим всю матрицу (щелчок мышью по клетке - пересечению заголовков строк и столбцов), затем трижды:
Edit - Block Stats/Columns- Sums (2 ðàç: Max’s, 3: Medians)
Можно иначе: правая клавиша мыши - Block Stats/Columns (блок статистик по колонкам) - Sums, (2 раз: Max’s, 3 - Medians).
В нижней части таблицы появляются 3 строки стребуемыми статистиками.
Для новых строк введем более удобные обозначения:
кнопка Cases-Names...-далее ясно.