Данные авиаперевозок
Олег Соловьев 7.08.2010
В США есть бюро по сбору данных на транспорте – Bureau of Transportation Statistics. Бюро не только собирает данные, но и предоставляет к ним доступ через свой сайт – BTS.gov. Например, SAS использует данные об авиаперевозках в своих учебных и рекламных материалах для демонстрации прогноза временных рядов.

Этот ряд идеально подходит для демонстрации т.к. содержит сезонную составляющую – значения повторяются каждые 12 месяцев и тренд – “в среднем” на показанном участке ряд линейно возрастает. В этой статье мы рассмотрим как скачать этот набор данных с сайта BTS и загрузить его в SAS.
Сначала откройте сайт BTS.gov и выберите меню Data and Statistics → Airline Traffic Data или перейдите по этой ссылке. Внизу, в меню нужно выбрать пункты, как на рис. ниже и нажать кнопку Submit. В новом окне, вверху нажмите кнопку CSV. Далее появится меню с предложением сохранить файл.

Откройте сохраненный CSV-файл и удалите первые строки с информацией о Бюро, а в первом столбце рядом со столбцом Total укажите название столбца – month. После этого в первой строке файла должны оказаться только названия столбцов Month и Total как на рис. ниже. Также удалите не нужный текст в конце таблицы. Далее сохраните файл в формате excel (xls). Это нужно, чтобы excel правильно преобразовал даты в столбце month, а SAS – правильно их распознал при импорте.

Далее откройте SAS → File → Import Data → Next → Укажите путь к excel-файлу → Ok → Next → Укажите имя нового набора данных – AIR → Next → Укажите имя файла в котором будет сохранен код импорта файла → Finish. В итоге должен появиться набор данных work.air, а в указанном выше файле должен сохраниться следующий код:
PROC IMPORT OUT= WORK.Air
DATAFILE= "C:Air_Traffic_CSV.xls"
DBMS=EXCEL REPLACE;
SHEET="Air_Traffic_CSV$";
GETNAMES=YES;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
Чтобы сделать график, показанный в начале статьи, нужно изменить формат столбца month:
data air2;
set air;
format month monyy.;
run;
И воспользоваться процедурой GPLOT:
goptions device=ActiveX vsize=3 hsize=5.1; symbol1 color=black interpol=join value=dot height=1; proc gplot data = air2(where = (month between "01jan2002"d and "01jan2007"d)); plot total*month / vaxis=40000 to 70000 by 10000; run; quit;
В последующих статьях мы используем этот набор для прогноза авиаперевозок.