ІV курс, Інститут прикладного системного аналізу,
Терентьєв О. М.,
Національний технічний університет України «Київський політехнічний інститут ім. Ігоря Сікорського»
Київ
Для підвищення ефективності дослідження злочинності, підтримки на належному стані й покращення рівня безпеки, а також результативної протидії злочинним угрупуванням різні приватні й державні інститути удосконалюють методологічний апарат дослідницьких робіт та створюють аналітично-інформаційні системи. Кожний інформаційний продукт має свою специфіку, окрему галузь застосування та опирається на унікальні методи аналізу й прогнозування даних різної природи.
Для прогнозування за методом подібних траєкторій були обрані наступні дані: тестовий графік AIR з бібліотеки SASHELP в місячному перерізі в період з січня 1949 по грудень 1960 (рис. 1).
Рис. 1. Графік тестових даних AIR
А також дані про кількість зареєстрованих злочинів, пов’язаних з наданням публічних послуг у місті Дніпро в місячному перерізі в період з січня 2002 по січень 2012 років (рис. 2). Обидва набори даних представлені у вигляді двох колонок «дата» – «значення».
Рис. 2. Графік правопорушень, пов’язаних з наданням публічних послуг у місті Дніпро
У результаті імпорту дані представлені у прийнятному для платформи SAS вигляді. Після представлення даних «вручну» треба задати параметри для роботи методу подібних траєкторій (довжина алфавіту, величина прогнозу, ширина опорного відрізка):
data tmp_calc_diff;
set sasuser.input;
retain prev_quantity;
diff = prev_quantity – quantity;
prev_quantity = quantity;
run;
Далі відбувається підрахунок перших різниць вхідного вектору та запис результатів у нову змінну diff. Суть методу полягає у визначені діапазонів, що відповідають конкретній літері алфавіту B={bk} з наступним співставленням кожної ділянки з опорним вектором <ei>. Для цього слід знайти максимальне та мінімальне значення серед даних вектору перших різниць:
proc means data=tmp_calc_diff min max noprint;
var diff;
output out=tmp_min_max min=min max=max;
run;
data _null_;
set tmp_min_max ;
call symput(‘max’,max+1);
call symput(‘min’,min-1);
run;
На основі вектора перших різниць, а також величини алфавіту визначаємо ширину інтервалів для кожної букви алфавіту з метою подальшого прогнозу. Для цього в пакеті SAS передбачено інструментарій для побудови власного (користувацького) формату даних. Для того, щоб застосувати новостворений формат до вектору перших різниць потрібно виконати наступний код:
data tmp_format_base;
retain FMTNAME ‘MYFORMAT’ type ‘n’;
drop var bound rank;
var = (&max – &min) / &interv_num;
bound = &min;
rank = –1;
do until(bound > &max);
rank + 1;
LABEL = put(rank, 2.);
START = bound;
bound = bound + var;
END = bound;
output;
end;
run;
proc format cntlin=tmp_format_base cntlout=tmp_format;
data tmp_res;
set tmp_calc_diff;
format diff MYFORMAT10.;
run;
У результаті, отримуємо повністю сформований алфавіт з конкретними значеннями діапазонів, що однозначно задають конкретну літеру алфавіту.
Після створення алфавіту можна приступати до реалізації головної частини алгоритму – а саме пошуку відповідностей (схожої поведінки) між вхідними даними та опорним вектором:
data _null_;
vector_base = substr(symget(‘diff_str’),3);
vector_search = symget(‘vector’);
res = 0;
do until(find(vector_base, vector_search, res+1) = 0);
res = find(vector_base, vector_search, res+1);
put res=;
end;
put ‘end’;
run;
В результаті роботи алгоритму були побудовані прогнозні моделі, характеристики яких наведені у таблиці 1.
Таблиця 1
Статистики прогнозних моделей
Назва | RMSE | MAPE | DW | R2 |
Тестовий графік AIR ql=3, ww=3 | 9881 | 16,50169 | 0,808534 | 0,345968 |
Тестовий графік AIR ql=3, ww=7 | 3009 | 9,748089 | 0,996792 | 0,673292 |
Графік кількості правопорушень у м.Дніпро ql=5, ww=3 | 1935 | 114,1657 | 1,03231 | 0,72647 |
Графік кількості правопорушень у м.Дніпро ql=7, ww=3 | 960,6833 | 82,12633 | 0,960026 | 0,864263 |
Як видно з таблиці 1, за фіксованої довжині опорного вектору значення RMSE та MAPE спадають за зростання алфавіту, тобто точність прогнозу покращується; за фіксованої довжині опорного вектору значення критерію R2 наближається до одиниці при збільшенні кількості букв в алфавіті, тобто зростає точність прогнозу, за результатами роботи методу на даних числових рядах не можливо зробити остаточний висновок стосовно автокореляції за статистикою DW, доцільним є продовження досліджень в обраному напрямку.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
- Довгий С.О., Бідюк П.І., Трофимчук О.М., Савенков О.І. Методи прогнозування в системах підтримки прийняття рішень. – К: Азимут-Україна, 2011. – 607 с.
- Терентьев А.Н., Домрачев В.Н., Костецкий Р.И. SASBase: Основы программирования (научное издание). – К: Эдельвейс, 2014. – 304 с.
- Компанія SAS [Електронний ресурс] : офіційний web-сайт. – Режим доступуhttp://www.sas.com/offices/europe/russia/company/index.html.
- Довгий С.О. Системи підтримки прийняття рішень на основі статистично-ймовірнісних методів / Довгий С.О., Бідюк П.І., Трофимчук О.М. – К.: Логос, 2014. – 419 с