powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Анализ трендов, среднеквадратическое отклонение
6 сообщений из 6, страница 1 из 1
Анализ трендов, среднеквадратическое отклонение
    #39989123
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пологаю задача типичная и легкотня для старожилов. Пожалуйста помогите.
Положим имеется табличка продаж:

Код: plaintext
Дата, Категория, Суб_категория, Количество

Необходимо выяснить тренды продаж каждой каждой категории-субкатегории в сравнении с усредненным значением количества за последние Х дней (например 14 дней).
На выходе я хотел бы получить, что то наподобие

Код: plaintext
Дата, Категория, Суб_категория, Оценка

Если Оценка близка к 0, то тренд стабильный, если слишком отклоняется от 0, то там какие-то скачки, всплески, и далее потребуется более детальный анализ на данную Дату, Категорию-Суб_категорию.

Хотел бы научиться как решать такую задачу в Оракле через сиквел а также в Экселе.

Заранее очень признателен.
Спасибо,
...
Рейтинг: 0 / 0
Анализ трендов, среднеквадратическое отклонение
    #39989132
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пологаю задача типичная и легкотня для старожилов.

Полагаем, вам нетрудно будет предоставить тестовые данные и ожидаемый результат.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with t (Дата, Категория, Суб_категория, Количество) as (

select date '2020-01-01', 1, 1, 10  from dual union all
select date '2020-01-02', 1, 2, 20  from dual union all
select date '2020-01-03', 2, 1, 30  from dual union all
select date '2020-01-04', 2, 2, 10  from dual union all
select date '2020-01-05', 2, 3, 100  from dual
)
select * from t
...
Рейтинг: 0 / 0
Анализ трендов, среднеквадратическое отклонение
    #39989134
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Анализ трендов, среднеквадратическое отклонение
    #39989142
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,
Спасибо, за информацию и статью. Я действительно хочу разобраться.
И проблема в том, что я не представляю какой формулой можно посчитать оченку (предполагаю, что может понадобиться STDEV).
Только знаю, что Оценка, о которой идёт речь в задаче, должна мне дать величину, которая поможет определить есть ли сучественное отклонение от средней величины.
Причем для каждой категории, Количества могут существенно отличаться по абсолютным значениям.
Например для следующих масцивов данных всплесков нет.
1,2,3,4,1,2,3,2,2,1,3
1000,1200,900,1020,980,1100
А в этих массивах есть всплески
1,2,3,1,2,100,9,12,1,0
1000,1200,9000,1020,980,1100.

Встаёт задача определения доверительных интервалов (?)
...
Рейтинг: 0 / 0
Анализ трендов, среднеквадратическое отклонение
    #39989311
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как студентом прошел курс мат. статистики, так с тех пор этими знаниями и не пользовался.
Поэтому слова "мат. ожидание", "среднеквадратичное отклонение" помню, но только слова :).
Пишите формулы, допиливайте.

Код: plsql
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.
with t (Серия, Величина) as (

select 1, 1  from dual union all
select 1, 2  from dual union all
select 1, 3  from dual union all
select 1, 4  from dual union all
select 1, 1  from dual union all
select 1, 2  from dual union all
select 1, 3  from dual union all
select 1, 2  from dual union all
select 1, 2  from dual union all
select 1, 1  from dual union all
select 1, 3  from dual union all
select 2, 1000  from dual union all
select 2, 1200  from dual union all
select 2, 900  from dual union all
select 2, 1020  from dual union all
select 2, 980  from dual union all
select 2, 1100  from dual union all
select 3, 1  from dual union all
select 3, 2  from dual union all
select 3, 3  from dual union all
select 3, 1  from dual union all
select 3, 2  from dual union all
select 3, 100  from dual union all
select 3, 9  from dual union all
select 3, 12  from dual union all
select 3, 0  from dual union all
select 3, 1  from dual

)
select Серия, Величина,
       round(avg(Величина) over(order by Серия), 2) Среднее,
       abs(round(avg(Величина) over(order by Серия), 2) - Величина) Отклонение_от_среднего
  from t

...
Рейтинг: 0 / 0
Анализ трендов, среднеквадратическое отклонение
    #39991962
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Спасибо, друг.
Это то, что я искал в черновом варианте.
Похоже вместо ORDER BY, надо использовать PARTITION BY, иначе расчеты неверные.

Тем не менее, оченки не совсем репрезентативны.
К примеру хотелось бы задать какой то порог (доверительный интервал), или что то в процентах, и отклонение, чтобы выдавало в процентах... пока думаю. Как найду подход, дам знать.

Спасибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Анализ трендов, среднеквадратическое отклонение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]