CSL-CROOK - Funkcje próbkowania z rozkładu

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Wersja do druku nie jest już wspierana i może powodować błędy w wyświetlaniu. Zaktualizuj swoje zakładki i zamiast funkcji strony do druku użyj domyślnej funkcji drukowania w swojej przeglądarce.

Każda z czterech funkcji opisanych w niniejszym rozdziale dostarcza wartość otrzymaną przez pobranie próbki z populacji o określonym rozkładzie prawdopodobieństwa. Rozróżniamy następujące funkcje:

  • rozkład prostokątny
  • rozkład normalny
  • rozkład wykładniczy z wykładnikiem ujemnym;
  • rozkład Poissona;
  • rozkłady dostarczane jako dane wejściowe przez programistę;

Ogólna postać występowania tych funkcji w programie:

<zmienna> = <nazw funkcji>

Wartość dostarczana przez funkcję jest przyporządkowywana zmiennej po lewej stronie znaku równości.

Liczby losowe

Wszystkie pięć procedur próbkowania wykorzystuje procedurę generującą strumień liczb pseudolosowych. Każda z funkcji próbkowania ma jako jeden ze swych parametrów zmienną generacyjną określoną przez programistę. W każdym przypadku, w którym występuje funkcja próbkowania bieżąca wartość zmiennej generacyjnej jest poddawana działaniu procedury wyboru liczb losowych w celu wyznaczenia następnej wartości w sekwencji liczb losowych oraz nowej wartości generacyjnej. Na początku programu przed częścią powtarzaną w trakcie obliczeń, dla każdej występującej w programie zmiennej generacyjnej programista musi ustalić wartość początkową. Te wartości początkowe muszą być liczbami nieparzystymi, najlepiej jeżeli są to liczby pierwsze. Dla zapewnienia statystycznej niezależności występujących w programie ciągów liczb losowych, wartości początkowe poszczególnych zmiennych generacyjnych winny być różne. Jeżeli w programie nie porządkuje się żadnej wartości początkowej dla zmiennej generacyjnej, zostanie jej przyporządkowana wartość standardowa określona przez program liczb losowych - taka sama dla wszystkich ciągów.

RANDOM - rozkład prostokątny

Instrukcja ta ma następującą postać:

<zmienna> = RANDOM (<zmigen>,<zakres>)

Zmienna i zmigen zostały opisane wyżej a zakres może być wyrażeniem posiadającym wartość całkowitą. Wartość ta jest próbkowana z populacji o rozkładzie prostokątnym a wynik jest liczbą zawartą w przedziale od 1 do zakresu.

DEVIATE - rozkład normalny

Instrukcja ta ma następującą postać:

<zmienna> = DEVIATE (<zmigen>,<odchylenie>,<średnia>)

Zmienna i zmigen są opisane wyżej, natomiast odchylenie i średnia mogą być dowolnymi wyrażeniami posiadającymi wartości całkowite. Wartość jest pobrana z populacji o rozkładzie normalnym, którego wartość średnia jest bieżącą wartością średniej i którego odchylenie standardowe jest bieżącą wartością odchylenia.

NEGEXP - rozkład wykładniczy

Postać instrukcji:

<zmienna> = NEGEXP (<zmigen>,<średnia>)

Zmienna i zmigen są opisane wyżej, natomiast średnia jest dowolnym wyrażeniem przyjmującym wartość całkowitą. Wartość ta jest próbką z populacji o rozkładzie wykładniczym z wykładnikiem ujemnym, którego wartość średnia jest bieżącą wartością średnią. Ej.

POISSON - rozkład Poissona

Postać instrukcji:

<zmienna> = POISSON (<zmigen>,<średnia>)

Zmienna i zmigen są opisane wyżej, natomiast średnia może być dowolnym wyrażeniem dającym wynik całkowity. Wartość jest wartością próbki z populacji o rozkładzie Poissona, którego średnia może być dowolnym wyrażeniem dającym wynik REAL.

SAMPLE - próbkuj

Instrukcja ma nast0epującą postać:

<zmienna> = SAMPLE (<nazwa>,<rozkł1> [,<zmigen1>,<rozkł2>,...])

Nazwa jest nazwą zmiennej, natomiast <rozkł1, rozkł2, ... > są nazwami rozkładów dostarczanych jako dane wejściowe, natomiast zmigen1, zmigen2, ... Są zmiennymi generacyjnymi opisanymi wyżej. Wartość określona przez <nazwę> wskazuje pozycję na liście parametrów jaką zajmuje nazwa rozkładu w populacji generalnej, z której ma być pobrana próbka generacyjna, która ma być użyta do procedury próbkowania. Tak więc, jeżeli nazwa przyjmuje wartość=3, wówczas następuje próbkowanie z rozkładu <rozkł3> przy użyciu zmiennej generacyjnej <zmigen3>, gdzie <rozkł3>, <zmigen3> są trzecią parą nazw na liście.

DIST - rozkład

Postać instrukcji:

DIST <tabnamwe1>,<tabname2>,<tabname3>,....

Nazwy <tabname1>, ... Są nazwami tablic zawierających dane rozkładu. Instrukcja DIST powoduje przekształcenie empirycznych gęstości prawdopodobieństwa zapamiętanych w specyfikowanych tablicach na dystrybuanty empiryczne dla umożliwienia pobrania próbek. Po dokonaniu tego, oryginalne wartości N(I) wczytane do tablic nie są już dalej dostępne dla programisty.

Źródło: Translator języka CSL-CROOK dla minikomputera MERA-400 w systemie operacyjnym CROOK-4, Instrukcja Programisty (wersja-17/2), Janusz Gocałek, Jacek Klauziński, Poznań, 1985