powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / анализ распределений в кубах
9 сообщений из 9, страница 1 из 1
анализ распределений в кубах
    #32615843
Фотография culis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть куб, для простоты скажем что есть измерения

-yearnum
-dayofyear

и мера

-value

допустим у нас есть данные за 25 лет. Допустим что легко вытащить оттуда value для dayofyear=1. Будет 25 значений для каждого года. Но мне надо знать как эти значения распределены по квартилям (или персентилям). Как бы это сделать?
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32615915
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по квартилям или персентилям

Что вы имеете ввиду?
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32617561
Фотография culis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ok. есть функция avg допустим. Она находит среднее из массива чисел. Мне нужна функция percentile которая находит персентили. Там есть mediane но это 50 персентиль, мне нужны хотя бы квартили (25, 75).
Я уже посмотрел - сложно получается.
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32617711
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перцентили есть в Microstrategy.

Если они не поддерживаются в вашей тулзе, то общий алгоритм такой:

В строках отчёта выводите ваши годы (25 строк).
В первом столбце выводите ваш показатель.
Во втором - итоговую сумму за все 25 лет.
В третьем - показатель нарастающим итогом.
В четвёртом - отношение нарастающего итога к итогу за 25 лет.

Вот пример для 10 лет:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Год	Пок.	Итог.	Нар. ит.	Доля в итоге
y1	10	55	10	0,181818182
y2	9	55	19	0,345454545
y3	8	55	27	0,490909091
y4	7	55	34	0,618181818
y5	6	55	40	0,727272727
y6	5	55	45	0,818181818
y7	4	55	49	0,890909091
y8	3	55	52	0,945454545
y9	2	55	54	0,981818182
y10	1	55	55	1

Допустим, нужны квартили.
Годы, для которых доля в итоге <0.25 попадают в верхний квартиль. Это год 1.
Во второй квартиль вовадает всё, что >0.25, но <0.5. Это годы 2 и 3.
И так далее.

Надеюсь, это поможет.
По-моему, не очень сложно, если это, конечно, то, что Вам нужно.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32617774
Фотография culis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за идею, я только боюсь что это не настоящие персентили.
По определению персетниль 25 это число (из выборки) при котором вероятность попасть в число меньшее его равна 0.25. Это значит что для выборки 1:100 персентиль 95 будет равна приблизительно 95. Это значит что если мы будем дергать случайные числа из выборки то с 95% вероятностью мы будем попадать в числа 95 и меньше.
Вообщем я не монимаю MS о чем они думали когда не сделали стат функций для кубов. Я пытаюсь делать стат анализ в кубах и ни хрена не получается - нету функций. mean для меня ничего не значит, мне формы распределений нужны, квартиль-квартиль по нормальному распределению и тд. Скажем mean конечной выборки может быть одним и тем же для принципиально разных распределений - нормального скажем и экспоненциального. Но это принципиально разные данные, как с ними работать вообще?
Придется самому дописывать на VB и цеплять ее из куба. Кто нибудь так делал?
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32617836
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая штука SPSS называется.
Там это, точно есть. У них, вроде бы и многомерный анализ в каком-то виде есть. Если у Вас небольшие объёмы данных и важна статистика, то может быть стоит попробовать.

Много данных то?


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32617853
Фотография culis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да хватает, 2 миллиона строк в факт таблице, 4-6 измерении, 4-5 мер в каждом кубе. Все далали на S+ но сейчас надо все на лету, когда на кубы перешли (вместо сиквела) то выборки стали быстрее раз в 100 примерно. Но говорю - мы распределения анализируем, для меня волатильность нужна, форма распределения и тд. Ладно, посмотрим, сейчас пишу в C# всю эту лабуду буду там делать анализ выборок из кубов.
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32619388
Jurii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To culis:

Могу предложить такой вариант:
Открыть Ваш куб с помощью OLAP-клиента PowerPlay for Excel (на листе Excel), предварительно в окошке Навигатора сформировав боковик и шапку отчета. И далее применяете статистические функции Excel.
...
Рейтинг: 0 / 0
анализ распределений в кубах
    #32619423
Фотография culis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну это понятно. Но это же решение что называется "На коленках" мне надо чтобы клиент aspx строил графики на лету по этим данным.
Вот кому интересно что я спионерил у R- а те спионерили у SAS. Может не самый эффективный способ, но работает. Принимает два массива - первый для анализа, второй - массив персентилей (25,50,75) например. Хочется прикрутить ее в сам ОЛАП. Наверное придется сделать на VB dll.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
static public  double[] Perc(double[] x, int[] p)
{
  double [] per=new Double[p.Length];
  Array.Sort(x);
  double n=x.Length;
  int[] j=new int[p.Length];
  double[] g=new double[p.Length];			
  for (int i= 0 ;i<p.Length;i++){j[i]=(int)Math.Floor(n*p[i]/ 100 );};
  for (int i= 0 ;i<p.Length;i++){g[i]=(n*p[i]/ 100 )-j[i];};			
  for (int i= 0 ;i<p.Length;++i){per[i]=(g[i]== 0 )? x[j[i]- 1 ]:x[j[i]];};

  return (per);
}
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / анализ распределений в кубах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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