lr3 (543708), страница 2
Текст из файла (страница 2)
2) результаты экспериментов:
распечатки 3-5 выборок, распечатку значений оценок на всех k = 20 выборках для объема n = 10,
графическое представление результатов сравнения оценок на всех выборках, таблицу разброса значений оценок,
графическую зависимость Sа от объема n для различных оценок.
2. Выполнение в пакете STATGRAPHICS
Оценивание по выборкам объема n = 10
Сформируем 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 ]. Скопируем эту запись в буфер обмена: