Contents
Введение
Прежде, чем переходить к изучению построения трендов в QlikView, рекомендую ознакомиться со следующими статьями:
Построение трендов в QlikView позволяет пользователям оценивать планируемые значения, на основе которых строят прогнозные модели.
Статистические функции в QlikView дают возможность строить тренды на основе линейной регрессии.
Формула регрессии при одном факторе:
y = mx + b
Формула регрессии при нескольких факторах:
y = m1x1 + m2x2 +… + b
Пример 1 – использование коэффициентов для построения тренда
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
[Исходные данные]: LOAD * inline [ Координата X|Координата Y 1|0 2|1 3|3 4|8 5|14 6|20 7|0 8|50 9|25 10|60 11|38 12|19 13|26 14|143 15|98 16|27 17|59 18|78 19|158 20|279 ] (delimiter is '|'); [Рассчитанные данные коэффициентов]: LOAD linest_M([Координата Y],[Координата X]) as Linest_M, linest_B([Координата Y],[Координата X]) as Linest_B, linest_R2([Координата Y],[Координата X]) as Linest_R2, linest_DF([Координата Y],[Координата X]) as Linest_DF, linest_F([Координата Y],[Координата X]) as Linest_F, linest_SEB([Координата Y],[Координата X],1,1) as Linest_SEB, linest_SEM([Координата Y],[Координата X]) as Linest_SEM, linest_SEY([Координата Y],[Координата X]) as Linest_SEY, linest_SSREG([Координата Y],[Координата X]) as Linest_SSREG, linest_SSRESID([Координата Y],[Координата X]) as Linest_SSRESID resident [Исходные данные]; |
После загрузки данных получаются две таблицы в документе QlikView:
Содержание таблиц будет следующим:
Линейная регрессия с помощью рассчитанных коэффициентов
Создадим диаграмму-график, в выражениях которой будут находиться следующие формулы:
1 2 3 4 |
=Linest_M*[Координата X]+Linest_B =(Linest_M+Linest_SEM)*[Координата X]+(Linest_B+Linest_SEB) =(Linest_M+Linest_SEM)*[Координата X]+Linest_B =Linest_M*[Координата X]+(Linest_B+Linest_SEB) |
Стандартные инструменты построения трендов в QlikView
Стандартный инструментарий построения трендовых линий находится на вкладке Expression:
В QlikView можно построить для заданного выражения 6 типов линий трендов:
• Average
• Linear
• Polynomial of 2nd degree
• Polynomial of 3rd degree
• Polynomial of 4th degree
• Exponential
Пример 1 – Average
Пример 2 – Linear
Пример 3 – Polynomial of 2nd degree
Пример 4 – Polynomial of 3rd degree
Пример 5 – Polynomial of 4th degree
Пример 6 – Exponential
Построение трендов без предварительного расчета коэффициентов
Вариант 1
Как построить Sales Trend (график красного цвета)?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/*Линейная регрессия, это функция y=mx+b*/ /*m - получаем при помощи функции linest_m(выражение_y, выражение_x [, y0 [, x0 ]])*/ linest_m( /*Сначала идет выражение, которое возвращает набор y значений*/ total aggr( if( sum(Sales), sum(Sales) ), Month ), /*На второй позиции стоит выражение x, т.е. номер месяца (в нашем случае регрессионная модель зависит от 1 фактора)*/ Month ) /*Теперь получаем множитель x, т.е. месяц*/ * only({1}Month) /*b - получаем при помощи функции linest_b (выражение_y, выражение_x [, y0 [, x0 ]])*/ + linest_b( /* Сначала идет выражение, которое возвращает набор y значений */ total aggr( if( sum(Sales), sum(Sales) ), Month ), /*На второй позиции стоит выражение x, т.е. номер месяца (в нашем случае регрессионная модель зависит от 1 фактора)*/ Month ) |
Вариант 2
Как построить прогноз на столбчатой диаграмме?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
if(not sum(Sales), linest_m( total aggr( if( sum(Sales), sum(Sales) ), Month ), Month ) * only({1}Month) + linest_b( total aggr( if( sum(Sales), sum(Sales) ), Month ), Month ) ) |
1 2 3 |
if(sum(Sales),sum(Sales) ,linest_m(total aggr(if(sum(Sales),sum(Sales)),Month),Month)*only({1}Month ) +linest_b(total aggr(if(sum(Sales),sum(Sales)),Month),Month)) |
QlikView и R-Project
R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. R можно бесплатно скачать из Comprehensive R Archive Network (сокращенно CRAN) по адресу http://cran.r-project.org. Предварительно скомпилированные загрузочные файлы доступны для Linux, Mac OS X и Windows.
В R реализовано множество функций для доступа к внешним источникам данных, включая текстовые файлы с разделителями, веб-файлы, статистические программы, электронные таблицы и базы данных.
Все объекты R хранятся в виртуальной памяти. При работе с большими наборами данных необходимо использовать 64-битную версию программы.
Есть три аспекта, которые нужно учитывать при работе с большими объемами данных:
a) эффективное программирование для ускорения выполнения программ,
b) внешнее хранение данных для ограничения обращений к памяти,
c) использование специальных статистических методов, разработанных для эффективного анализа больших объемов данных.
Существует несколько пакетов, предназначенных для хранения данных вне оперативной памяти R. Идея заключается в том, чтобы хранить данные во внешних базах данных или в неструктурированных двоичных файлах на диске, а затем загружать эти данные частями по мере необходимости.
Эспорт данных из R-Project
Для QlikView подойдут следующие виды форматов для экспорта данных:
- Текстовый файл с разделителями
- Таблица Excel
Автоматизация работы с R-Project
Способ запуска программы в пакетном режиме зависит от типа операционной системы. В Windows это можно делать при помощи ввода следующей команды в консоли:
1 |
“C:\Program Files\R\R-2.13.0\bin\R.exe” CMD BATCH --vanilla --slave “c:\my projects\myscript.R” |
,в которой прописаны пути к файлу R.exe и к файлу с программным кодом. Дополнительная информация по этой теме, в том числе использование опций в командной строке, содержится в пособии «Введение в R» («Introduction to R») на сайте CRAN (http://cran.r-project.org).
Схема интеграции QlikView и R-Project
Литература по языку R
- Роберт И. Кабаков — «R в действии. Анализ и визуализация данных в программе R»
Leave a Reply