tarnyagin: (Default)
[personal profile] tarnyagin
-- Девочки, вы, конечно, всё красиво нарисовали, но утверждать что "данные стремятся к нормальному t-распределению" -- это немножко голословно. В общем, так: переделайте мне их в гистограммы и наложите поверх соответствующую гауссовую кривую. Ладно? Ну вот и договорились :)

Глюкоза-1

Девочки (Наташка с Рутой) разве не в слезах ушли. Во-первых графиков тридцать. Во вторых -- а как в excel наложить на график гауссиану? Точнее, даже не в excel (там есть для этого платный плагин), а в libreoffice?

Переделать график в гистограмму -- просто, хоть и трудоёмко. Про это я не буду, примем как данность промежуточный результат.

Глюкоза-2
А вот наложить поверх рисунок -- засада. Никак. Из инструментов у libreoffice есть только кривые Безье. Вы пробовали нарисовать гауссов колокольчик мышкой от руки? Хорошо, что есть калькулятор:


#!/usr/bin/calc -p -f
#

dryrun = 0;
maxx = 570;
maxy = 400;
off = 0.075;
left = -1 - off/2;
right = 0.5 + off/2;
mu = -0.19;
sigma = 0.189;
dx = 4;

define g(x) = 1 / (sigma * sqrt(2 * pi())) * exp(-1/2 * ((x - mu) / sigma) ^ 2);

curr_y = round(g(left) * maxy * sigma);

system(strprintf("xdotool mousemove_relative -- %d %d", 0, -curr_y));

if (!dryrun) {
  system("xdotool mousedown 1");

  for(x = 0; x < maxx; x += dx) {
    xx = (x / maxx) * (right - left) + left;
    y = round(g(xx) * maxy * sigma);
    dy = curr_y - y;
    curr_y = y;

    system(strprintf("xdotool mousemove_relative -- %d %d", dx, dy));
  }
  system("xdotool mouseup 1");
  system("xdotool click 3");
  system("xdotool key i");
}

printf("Top at %.3f\n", 25 * g(mu) * off);


Ключ к решению, конечно, xdotool. Скрипт запускается с задержкой в семь секунд, за это время надо переключится в окно либр-калка, выбрать диаграммку, схватить в руки кривую Безье (типа карандаш) и ждать. А дальше включается в работу скрипт, нажимает мышку, ведёт её недрогнувшей рукой и отпускает. :). Вот что получилось:



Рекомендации бывалых

Date: 2017-04-14 07:55 pm (UTC)
dimview: (Default)
From: [personal profile] dimview
Во-первых, вместо гистограмм рисовать функции распределения (Empirical Cumulative Distribution Function, ECDF).

Во-вторых, нормальное распределение можно легко приблизить косинусом в большой степени.

В-третьих, проводить проверку на нормальность лучше не на глаз, а с помощью теста Колмогорова-Смирнова, который сравнивает те самые CDF. К сожалению, как и все тесты на нормальность, он измеряет размер выборки, поэтому практического значения не имеет.

Ну и в-четвёртых, R Studio и R Markdown для таких дел - отличное подспорье.

Re: Рекомендации бывалых

Date: 2017-04-14 08:32 pm (UTC)
skittishfox: Love (Default)
From: [personal profile] skittishfox
В-третьих, тест на нормальность красивей всего показывать в виде Q-Q Plot, а Колмогоров-Смирнов - это оверкилл.

Можно и так

Date: 2017-04-14 09:41 pm (UTC)
dimview: (Default)
From: [personal profile] dimview
Но Q-Q plot гораздо сложнее объяснить человеку, который с ним раньше не встречался, чем CDF.

Колмогоров-Смирнов как раз понятнее - можно даже стрелочку нарисовать в том месте, где максимум разницы между ECDF и теоретической функцией распределения и показать на неё пальцем, а не просто тыкать в загадочный p-value.

Так это

Date: 2017-04-14 09:48 pm (UTC)
dimview: (Default)
From: [personal profile] dimview
Колмогоров-Смирнов как раз непараметрический.

Но идея тут не в этом. Я вот ни разу не видел в реальных данных нормального распределения. Оно всегда какое-то ненормальное. Вопрос только в размере выборки. На тех выборках, которые можно набрать руками в табличку, никакие тесты на нормальность ненормальность не покажут. Но:

1. Это не значит, что данные нормально распределены и

2. Даже если данные не распределены нормально, модель скорее всего всё равно можно использовать, и она будет хорошо работать.

Profile

tarnyagin: (Default)
Dmitry Tarnyagin

June 2017

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 04:45 pm
Powered by Dreamwidth Studios