Ćw. 10. Matlab –obliczenia statystyczne
Transkrypt
Ćw. 10. Matlab –obliczenia statystyczne
Ćw. 10. Matlab –obliczenia statystyczne Użyteczne funkcje wbudowane Sumowanie elementów wektora: Sortowanie elementów wektora: Liczba elementów wektora: Średnia arytmetyczna: Mediana: Odchylenie standardowe: Wariancja: sum(A) sort(A) - rosnąco sort(A,'descend') - malejąco length(A) mean(A) median(A) std(A) – dla próby std(A,1) – dla populacji var(A) – dla próby var(A,1) – dla populacji Zadanie Utworzyć algorytm z wykorzystaniem iteracji dla: a. sumowania, b. obliczania średniej arytmetycznej, elementów wygenerowanego losowo wektora o 100 elementach. Sprawdzić zgodność wyników algorytmu z wynikiem wbudowanej funkcji. Mediana Mediana to wartość środkowa zbioru. Mediana dzieli zbiór na dwie równe grupy - wyniki niższe niż mediana i wyniki wyższe niż mediana. Wartość mediany wskazuje, że połowa wyników ma wartość poniżej wartości mediany, a druga połowa ma wartość powyżej wartości mediany. Przykład: Ceny pewnego towaru w różnych sklepach mają ceny: 139, 141, 142, 147, 148, 149, 149, 150, 152, 153, 153, 155, 158, 159, 161 Pseudokod algorytmu: 1. Posortować elementy. 2. Zbadać liczbę elementów. Jeżeli jest nieparzysta medianą jest element środkowy o indeksie (N+1)/2, jeśli parzysta mediana to średnia elementów środkowych:(M(N/2)+M(N/2+1))/2. Zadanie Utworzyć algorytm obliczania mediany elementów wygenerowanego losowo wektora o 100 elementach. Sprawdzić zgodność wyników algorytmu z wynikiem wbudowanej funkcji. Wariancja i odchylenie standardowe dla próby Wariancja określa wielkość zróżnicowania wyników w zbiorze - czy różnice pomiędzy średnią a poszczególnymi wynikami są duże czy niewielkie. Wariancja próby: ∑ − ̅ _ = −1 Odchylenie standardowe próby: ∑ − ̅ −1 σ_ = Jeżeli mamy dostępne dane całej populacji: _ = ∑ − ̅ ∑ − ̅ σ_ = W Matlabie wielkości te obliczają funkcje: Odchylenie standardowe: std(A,k) Wariancja: var(A,k) gdzie k=0 (lub brak) dla próby, a k=1 dla całej populacji. Ćwiczenie Utworzyć w Matlabie algorytm obliczania według powyższych wzorów wariancji i odchylenia standardowego dla próby i dla populacji. Zbiór wygenerować losowo jako wektor o 100 elementach (wybrać dla próby dowolne 20 elementów). Sprawdzić algorytm liczenia wariancji i odchylenia, porównując wyniki z rezultatami uzyskanymi z wykorzystaniem funkcji var i std. %OBLICZENIA STATYSTYCZNE clc,clear N=100; %liczebność pełnego zbioru P=20; %liczebność próby M=rand1,N; %pełny zbiór populacja Z=M1:P; %zbiór częściowy próba %średnia arytmetyczna próby sr_pr=sumZ/P; %średnia arytmetyczna populacji sr_pop=sumM/N; %------------------populacja s_pop=0; for k=1:N s_pop=s_pop+Mk-sr_pop^2; end; war_pop=s_pop/lengthM; std_pop=sqrtwar_pop; %------------------próba s_pr=0; for k=1:P s_pr=s_pr+Zk-sr_pr^2; end; war_pr=s_pr/P-1; std_pr=sqrtwar_pr; fprintf'Wariancja dla populacji=%f\n',war_pop fprintf'Wariancja dla próby=%f\n',war_pr fprintf'Odchylenie standardowe populacji=%f\n',std_pop fprintf'Odchylenie standardowe próby=%f\n',std_pr disp' Sprawdzenie obliczeń z wykorzystaniem funkcji var i std' fprintf'Wariancja dla populacji=%f\n',varM,1 fprintf'Wariancja dla próby=%f\n',varZ fprintf'Odchylenie standardowe dla populacji=%f\n',stdM,1 fprintf'Odchylenie standardowe dla próby=%f\n',stdZ disp' TEST poprawności' if war_pr-varZ==0 disp'Wariancja próby obliczona poprawnie' end if std_pr-stdZ==0 disp'Odchylenie standardowe próby obliczone poprawnie ' end if war_pop-varM,1==0 disp'Wariancja populacji obliczona poprawnie ' end if std_pop-stdM,1==0 disp'Odchylenie standardowe populacji obliczone poprawnie' end Rozkład Gaussa Jest opisany równaniem: M = 1 √2OP SRT R Q UV gdzie: µ – średnia, σ – odchylenie standardowe (σ2 – wariancja). Zadanie Do utworzonego uprzednio m-pliku dopisać kod, którego zadaniem będzie narysowanie krzywej Gaussa dla przyjętych wartości parametrów: a) μ = 0, P = 1 b) μ = 0, P = 0.7 Można to zrobić tworząc wektory x i y, a następnie wykorzystać funkcję plot, lub opisując funkcję Gaussa symbolicznie, podstawić (funkcja subs) parametry i zastosować funkcję rysującą ezplot.