2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 нормальный закон распределения, смоделировать выборку
Сообщение22.10.2008, 23:24 


22/10/08
1
Добрый ночия друзья!

Очень часто в институте надо было определить закон распределения по имеющимся данным. Сейчас у меня задача наоборот, построить данные которые максимально подходят под нормальный закон.

Подскажите пожалуйста как построить набор из 1000 чисел в котором числа будут от 0 до 100. Чтобы этот набор как можно сильнее был похож на нормальный. Никак не соображу как это сделать плотность распределения у нас же для непрерывной переменной а тут дискретное. Дело осложняется тем что мне нужно в общем виде без интегралов.
Так как эту последовательность нужно запрограммировать и запихнуть в таблицу БД.

Подскажите с чего начать,

 Профиль  
                  
 
 
Сообщение23.10.2008, 00:00 
Заслуженный участник


08/09/07
841
Здесь Вам необходимо использовать следующий факт. Если случайная величина $X$ имеет непрерывную функцию распределения $F_X (x)$ то случайная величина $Y=F_X (X)$ имеет равномерное распределение на интервале $(0,1)$.

 Профиль  
                  
 
 Re: нормальный закон распределения
Сообщение23.10.2008, 04:05 
Заслуженный участник


11/05/08
32166
normalz писал(а):
Подскажите пожалуйста как построить набор из 1000 чисел в котором числа будут от 0 до 100. Чтобы этот набор как можно сильнее был похож на нормальный. Никак не соображу как это сделать плотность распределения у нас же для непрерывной переменной а тут дискретное. Дело осложняется тем что мне нужно в общем виде без интегралов.
Так как эту последовательность нужно запрограммировать и запихнуть в таблицу БД.

Ну, с дискретностью просто -- видимо, предполагалось составить последовательность вещественных числел, а потом округлить.

Правда, нюанс. Какова сигма? Если, по умолчанию, единичка, то практически все числа окажутся от нуля до трёх (ну или от 47 до 53, если сместить центр), так что сходство с нормальным будет весьма условным.

Поскольку речь о составлении базы, эффективность программы не важна и можно воспользоваться универсальным методом приёма-отклонения. Генерируем последовательность пар $(x,y)$, где $x\in[0;100]$ и $y\in[0;1]$ равномерно. Если оказывается $y<f_X(x)$, то данная точка $x$ принимается и заносится (после округления) в таблицу. И так до тех пор, пока не накопятся требуемые 1000 точек.

Если всё же нужна эффективность, то можно воспользоваться стандартным алгоритмом для именно нормального распределения. Основанным на том, что для нормально распределённых точек на плоскости расстояния до центру распределены по показательному закону, а он легко обращается. Генерируем два равномерно распределённых числа: $t\in(0;1]$ и $\alpha\in[0;2\pi)$. Берём $x=-\ln t\cdot\cos\alpha$ и $y=-\ln t\cdot\sin\alpha$. Эти два числа будут распределены независимо и нормально (сигму не помню, а считать лень).

 Профиль  
                  
 
 
Сообщение23.10.2008, 14:09 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Можно взять 4000 целых, равномерно распределенных от 0 до 25, сложить их по 4. Эти 1000 сумм будут распределены почти нормально от 0 до 100. Некоторые датчики выдают именно целые СЧ. Я так понял, что нужны целые значения?

Для еще большей нормальности можно взять 10 тысяч [0,10] и сложить по 10.
А если 100 тысяч 0/1 и складывать по 100, то нормальней для целых и некуда. Тут и комп не нужен - подбрасывай себе монетку :)

Правда чем больше слагаемых, тем меньше дисперсия.

 Профиль  
                  
 
 
Сообщение23.10.2008, 18:27 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Мне кажется, что наиболее естественно моделировать серию из 100 испытаний Бернулли и считать число успехов. Согласно теореме Муавра-Лапласа при этом будет получаться как раз что-то очень похожее на нормальное (насколько это только возможно при такой дискретности). Кстати, вероятность успеха при этом можно брать и не обязательно $\frac12$ (хотя, конечно, $\frac12$ наиболее естественно), при этом будут получаться различные средние. Главное только не брать вероятность успеха слишком близкой к 0 или к 1, где ЦПТ плохо работает.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group