Министерство науки и образования Украины
Харьковский Национальный Университет им. В.Н.Каразина
Факультет компьютерных наук
Кафедра моделирования систем и технологий
Моделирование логнормального распределения
Курсовая работа по дисциплине
«Компьютерное моделирование стохастических процессов»
Исполнитель *************
студент ****
Руководитель
Ст. преп. ************
Харьков 2007
План
1. Введение
2. Логнормальное распределение
3. Применение логнормального распределения
4. Постановка задачи
5. Реализация поставленной задачи
6. Инструкция пользователю
7. Описание программного модуля
8. Заключение
9. Список используемой литературы
10. Общие данные логнормального распределения
Введение
Данная работа была создана с целью промоделировать логнормальное распределение. Проект представляет собой программный продукт, который генерирует случайные величины распределенные по вышеуказанному закону, отображает теоретическую плотностью распределения и плотность полученную в результате эксперимента. Также считается мат. ожидание и дисперсия теоретически и экспериментально.
Логнормальное распределение
Случайная величина X имеет логнормальное распределение с параметрами μ, σ, если X = exp(Y), где Y имеет нормальное распределение с параметрами μ, σ. Случайная величина с логнормальным распределением является непрерывной, и принимает только положительные значения. Графики плотности (привязан к левой вертикальной оси ординат) и функции (привязан к правой оси ординат) логнормального распределения с параметрами μ = 0, σ = 0.7 приведен на следующем рисунке.
Характеристики
В следующей таблице приведены формулы для вычисления характеристик логнормального распределения.
Плотность распределения
Функция распределения*
Математическое ожидание
Стандартное отклонение
Дисперсия
Асимметрия
Мода
* Функция логнормального распределения F через элементарные функции не выражается. Для приближенного вычисления функции этого распределения с параметрами μ, σ можно воспользоваться формулой F(x) = Φμ,σ(ln x), где Φμ,σ - функция нормального распределения с параметрами μ, σ.
Моделирование
Моделирование значений случайной величины с логнормальным распределением (с параметрами μ, σ) проводится по формуле X = exp(Y), где Y имеет нормальное распределение с теми же параметрами..
Применение логнормального распределения
В статистике так называемое логнормальное распределение применяется в том случае, когда начинает изменяться цена актива в будущем – а это случайный процесс, который в принципе должен описываться нормальным распределением. В то же время для целей вероятностной оценки стоимости актива в теории пользуются не нормальным, а логнормальным распределением. Это обусловлено следующими причинами. Во-первых, нормальное распределение симметрично относительно ее центральной оси и может иметь как положительные, так и отрицательные значения; однако цена актива не может быть отрицательной. Во-вторых, нормальное распределение говорит о равной вероятности для значений переменной отклониться вверх или вниз. В то же время на практике, например, имеет место инфляция, которая оказывает давление на цены в сторону их повышения, а также сама временная сущность денег: стоимость денег сегодня меньше, чем стоимость денег вчера, но больше, чем стоимость денег завтра. Кривая логнормального распределения всегда положительна и имеет правостороннюю скошенность (асимметрично), т.е. она указывает на большую вероятность цены отклониться вверх. Поэтому если, допустим, цена актива составляет 50 долл., то кривая логнормального распределения свидетельствует о том, что опцион пут с ценой исполнения 45 долл. должен стоить меньше опциона колл с ценой исполнения 55 долл., в то время как в соответствии с нормальным распределением они должны были бы иметь одинаковую цену. Хотя нельзя надеяться, что приведенные исходные предположения в точности выполняются во всех реальных рыночных ситуациях, тем не менее принято считать, что логнормальное распределение достаточно хорошо как первое приближение в случае активов, которыми торгуют на конкурентных рынках аукционного типа для длинных рассматриваемых периодов.
Постановка задачи
Была поставлена задача промоделировать логнормального распределения, вывести график плотности распределения, полученный при помощи аналитических расчетов, и график, промоделированный с помощью стохастического метода. Посчитать математическое ожидание и дисперсию аналитическим и стохастическим способами и занести полученные результаты в таблицу (SrtingGrid).
Реализация поставленной задачи
Для решения поставленной я использовал среду программирования Delphi 7.
Сначала были сделаны расчеты по формулам которые описывались выше для того, чтобы отобразить график плотности логнормального распределения при помощи аналитических расчетов.
Для того, чтобы получить график плотности распределения на основе стохастических преобразований, был выбран метод Неймана.
Также нужно было посчитать математическое ожидание и дисперсию и ввести полученные результаты на экран. Формулы которых представлены ниже
Математическое ожидание |
Дисперсия |
var
Form1: TForm1;
kk:Int64;
flag:boolean;
implementation
Плотность распределения
function TForm1.PL(x:double):double; //--density of distribution
begin
if x<>0 then
result := exp(-(ln(x)-mu)*(ln(x)-mu)/(2*sigma*sigma))/(x*sigma*Sqrt(2*Pi))
else
result := 0;
end;
function TForm1.LogNorm() : double; //--for a method of Neumann
var
y : real;
x : double;
begin
repeat
x := a+random*(b-a);
f := PL(x);
y := fmax*random;
until y result := x; end; procedure
TForm1.Clear; //------------clear array--------- const M=50; var j :
integer; begin for j:=0 to
(M-1) do begin gist[j] := 0; end; end; procedure
TForm1.Panel1Click(Sender: TObject); var x, r, sr, h1,
h2, Ob,g1,g2, chi2_N, chi2_12, chi2_if, sum, Z : double; p, y, Mat,
Mat2, Disp : real; M, j :
integer; N, i, u :
longint; begin flag:=false; Gauge1.Progress:=0; //-------**All
fields must be filled!**--------- if
(E1.Text="") or (E2.Text="") or (E3.Text="") or (E4.Text="") or (E5.Text="")
then begin with
Application do begin NormalizeTopMosts; MessageBox("All
of fields must be filled!", "Error", MB_OK); RestoreTopMosts; end; exit; end; //----------**initialization**-------------- T := GetTime; Clear; Chart1.Series[0].Clear; Chart1.Series[1].Clear; Chart1.Series[2].Clear; sigma :=
StrToFloat(E1.Text); mu :=
StrToFloat(E2.Text); a :=
StrToFloat(E3.Text); b :=
StrToFloat(E4.Text); kk:=StrToint64(E5.Text); if
kk>2000000000 then begin Showmessage ("Очень
большое число, введите меньшее"); exit; end; N :=
StrToInt(E5.Text); g1:=100/N; g2:=0; Randomize; M := 50; //---------------**theoretical
method**------------------ for i:=1 to
100 do begin if (i mod 10)
=0 then application.ProcessMessages; x :=
a+i*(b-a)/100; //p := PL(x); if x<>0
then p :=
exp(-(ln(x)-mu)*(ln(x)-mu)/(2*sigma*sigma))/(x*sigma*Sqrt(2*Pi)) else p := 0; Chart1.Series[0].AddXY(x,
p); end; //---theoretical //*********************************************************** Метод Неймана //---------------**method
of Neumann**------------------------ fmax
:=Chart1.Series[0].MaxYValue; {for i:=1 to N
do begin if (i mod 10)
=0 then application.ProcessMessages; x :=
a+i*(b-a)/N; f := PL(x); if
(f>fmax)then fmax := f; end;} //max //------------------------------ Clear; chi2_N:=0; Mat:=0; Mat2:=0; Disp:=0; i:=0; Clear; chi2_if := 0; while true do begin if (i mod 10)
=0 then application.ProcessMessages; inc(i); x :=
LogNorm(); Mat := Mat+x;
//expectation Mat2 := Mat2
+sqr(x); if (x>b)
or (x
continue; u := trunc((x-a)/((b-a)/M)); gist[u] :=
gist[u]+1; h1 := random; h2 := random; Ob :=
sqrt(-2*ln(h1))*cos(2*Pi*h2); Ob :=
mu+Ob*sigma; x := exp(Ob); Плотность вероятности Функция распределения eμ Логнорма́льное
распределе́ние в теории
вероятностей - это двухпараметрическое семейство абсолютно непрерывных
распределений. Если случайная величина имеет логнормальное распределение, то её
логарифм имеет нормальное распределение. Определение Пусть распределение случайной величины X
задаётся плотностью вероятности, имеющей вид: ,
где . Тогда говорят, что X имеет логнормальное распределение с параметрами μ и σ. Пишут: X˜LogN(μ,σ2). Формула для k-го момента логнормальной
случайной величины X имеет вид: откуда в частности: , . ·
Если - независимые логнормальные случайные величины, такие что
, то их произведение также
логнормально: . ·
Если X˜LogN(μ,σ2), то Y = lnX˜N(μ,σ2).
Общие данные логнормальное
распределение
μ=0
μ=0
Параметры
Носитель
Плотность вероятности
Функция распределения
Математическое ожидание
Медиана
Мода
Дисперсия
Коэффициент асимметрии
Коэффициент эксцесса
Информационная энтропия
Моменты
Свойства логнормального
распределения
Связь с другими
распределениями