cw Rozklady prawdopod

Str. 13



Rozkłady prawdopodobieństwa w programie R – wybrane przykłady

?Distributions


Rozkład dwumianowy

?Binomial


Prawdopodobieństwo uzyskania określonej liczby sukcesów w n próbach Bernoulliego

Obliczenia realizuje funkcja dbinom(x,size,prob), gdzie x=liczba sukcesów, size=liczba prób, prob=prawdopodobieństwo sukcesu w pojedynczej próbie:


Przykład. Niech X~Bin(10,1/2). Obliczyć P(X=2), czyli prawdopodobieństwo, że w 10 próbach będą 2 sukcesy, jeśli prawdopodobieństwo sukcesu w jednej próbie wynosi 0,5.

dbinom(x=2, size=10,prob=0.5)


Hurtowe” obliczenia prawdopodobieństw dla każdej możliwej liczby sukcesów, jaką można uzyskać w 10 próbach:

c(0,1,2,3,4,5,6,7,8,9,10) # kolejne liczby całkowite od 0 do 10

#to samo można uzyskać za pomocą funkcji seq()

seq(from=0,to=10,by=1)

#to samo można uzyskać za pomocą operatora dwukropek

0:10 # kolejne liczby całkowite od 0 do 10


dbinom(x=0:10, size=10,prob=0.5)


#wynik obliczeń można zapisać jako obiekt (wektor) np. o nazwie y

y<-dbinom(x=0:10, size=10,prob=0.5)

y


Funkcja plot() służy do wykonywania różnych wykresów na płaszczyźnie

plot(x=0:10,y=y)


Funkcja plot() ma wiele opcji, zob. ?plot oraz ?plot.default

plot(x=0:10,y=y, type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo")


Kształt rozkładu dwumianowego zależy od wielkości prawdopodobieństwa „sukcesu” w pojedynczej próbie:

plot(x=0:10,y=y, type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,5")


y<-dbinom(x=0:10, size=10,prob=0.25)

plot(x=0:10,y=y,type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,25")


y<-dbinom(x=0:10, size=10,prob=0.75)

plot(x=0:10,y=y,type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,75")






Można spowodować, żeby wykresy pojawiły się w jednym oknie graficznym podzielonym na części:

#wykresy będą umieszczone kolejno w wierszach macierzy 2x2

par(mfrow=c(2,2))

y<-dbinom(x=0:10, size=10,prob=0.5)

plot(x=0:10,y=y,type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,5")

y<-dbinom(x=0:10, size=10,prob=0.25)

plot(x=0:10,y=y,type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,25")

y<-dbinom(x=0:10, size=10,prob=0.75)

plot(x=0:10,y=y,type="h",xlab="Liczba sukcesów", ylab="Prawdopodobieństwo",main="p=0,75")

par(mfrow=c(1,1))#powrót do ustawienia domyślnego okna graficznego


Dystrybuanta rozkładu dwumianowego

Obliczenia realizuje funkcja pbinom(q, size, prob), gdzie q=argument, dla którego obliczana jest dystrybuanta, size=liczba prób, prob=prawdopodobieństwo sukcesu w pojedynczej próbie


Przykład.

Niech X~Bin(10,1/2). Obliczyć wartość dystrybuanty tego rozkładu w punkcie x=2,7.

Niech F oznacza dystrybuantę rozkładu Bin(10,1/2). Trzeba zatem obliczyć wartość funkcji F w punkcie 2,7, czyli F(2,7).

pbinom(q=2.7, size=10, prob=0.5)


Bezpośrednio z definicji dystrybuanty wynika, że F(2,7) = P(X ≤ 2,7) = P(X=0)+P(X=1)+P(X=2).

dbinom(x=0:2, size=10, prob=0.5)

sum(dbinom(x=0:2, size=10, prob=0.5))


Generowanie liczb losowych z rozkładu dwumianowego

rbinom(n, size, prob), gdzie n=liczba wylosowanych wartości, size=liczba prób (liczba powtórzeń próby Bernoulliego), prob=prawdopodobieństwo sukcesu w pojedynczej próbie



rbinom(n=5, size=10, prob=0.5)

set.seed(112)#zapewnia powtarzalność wygenerowanych liczb losowych

rbinom(n=5, size=10, prob=0.5)


Rozkład Poissona

?Poisson


Przykład.

Niech X~Poiss(3). Obliczyć P(X=4).

dpois(x=4, lambda=3)


Niech X~Poiss(3). Obliczyć P(X=0), P(X=1), …, P(X=20)

dpois(x=0:20, lambda=3)



y<-dpois(x=0:20, lambda=3)

plot(x=0:20,y=y,type="h",xlab="Wartości zmiennej losowej", ylab="Prawdopodobieństwa")


Niech X~Poiss(3). Obliczyć F(15) i F(-10) (wartość dystrybuanty w punkcie 15 i w punkcie -10):

ppois(q=15, lambda=3)

ppois(q=-10, lambda=3)


Generowanie liczb losowych z rozkładu Poissona

rpois(n, lambda), gdzie n=liczba wylosowanych wartości, lambda=parametr rozkładu

rpois(n=4,lambda=0.5)


Rozkład wykładniczy

?Exponential

Wyznaczanie wartości funkcji gęstości rozkładu Exp(lambda) - funkcja dexp(x, rate)

gdzie x=liczba, dla której należy wyznaczyć wartość funkcji gęstości , rate=lambda



#gęstość rozkładu Exp(2) w punkcie 0

dexp(x=0, rate = 2)


dexp(x=0.5, rate = 2)



Wykresy gęstości dla różnych wartości lambda

curve(expr=dexp(x, rate = 2),from=0,to=10,ylab="Gęstość", main="Gęstość rozkładu wykładniczego")

curve(expr=dexp(x, rate = 1),from=0,to=10,add=T,col="blue")

curve(expr=dexp(x, rate = 0.5),from=0,to=10,add=T,col="red")

legend("topright",legend=c("lambda=2","lambda=1","lambda=0,5"),

lty=1,col=c("black","blue","red"))



Sprawdzenie ścieżki do katalogu roboczego programu R:

getwd()



Zapis rysunku w formacie jpeg (można zapisywać także w formacie bmp, png, tiff, pdf, eps)

jpeg(file="wykladniczy.jpeg")# zapis pliku do katalogu roboczego

curve(expr=dexp(x, rate = 2),from=0,to=10,ylab="Gęstość", main="Gęstość rozkładu wykładniczego")

curve(expr=dexp(x, rate = 1),from=0,to=10,add=T,col="blue")

curve(expr=dexp(x, rate = 0.5),from=0,to=10,add=T,col="red")

legend("topright",lty=1, col=c("black","blue","red"),

legend=c(expression(lambda==2),expression(lambda==1),

expression(lambda==0.5)))

dev.off()


Generowanie liczb losowych z rozkładu wykładniczego

rexp(n, rate), gdzie n=liczba wylosowanych wartości, rate=parametr rozkładu

rexp(n=6,rate=0.5)



Rozkład normalny

?Normal


Wyznaczanie wartości funkcji gęstości rozkładu N(mi, sigma^2) – funkcja
dnorm(x, mean, sd), gdzie x=liczba, dla której należy wyznaczyć wartość funkcji gęstości , mean=mi, sd=sigma


#gęstość rozkładu N(0,1) w punkcie 0

dnorm(x=0,mean=0,sd=1)


dnorm(x=c(-1,0,1),mean=0,sd=1)




curve(expr=dnorm(x,mean=0,sd=1),from=-4,to=4, ylab="Gęstość", main="Gęstość rozkładu N(0,1)")


curve(expr=dnorm(x,mean=0,sd=1),from=-4,to=4,ylab="Gęstość", main="Gęstość rozkładu normalnego \n w zależności od parametrów")

curve(expr=dnorm(x,mean=0,sd=2),from=-4,to=4, ylab="Gęstość", add=T,lty=2)

legend("topright",lty=c(1,2),legend=c(expression(paste(mu==0, ", ",sigma==1)),expression(paste(mu==0, ", ",sigma==2))))



Wyznaczanie dystrybuanty: funkcja pnorm(q, mean, sd), gdzie q=liczba, dla której należy wyznaczyć wartość dystrybuanty , mean=mi, sd=sigma


Przykład. Niech X~N(3,2^2). Wyznaczyć:

P(X < 2)

pnorm(q=2, mean=3,sd=2)


P(X > 1)

1-pnorm(q=1, mean=3,sd=2)

#inaczej:

pnorm(q=1, mean=3,sd=2,lower.tail=FALSE)


Wyznaczanie kwantyli rozkładu: funkcja qnorm(p, mean, sd), gdzie p=rząd kwantyla , mean=mi, sd=sigma


#wyznaczenie kwantyla rzędu 0,5 rozkładu N(0,1)

qnorm(p=0.5,mean=0,sd=1)


#wyznaczenie kwantyla rzędu 0,975 rozkładu N(0,1)

qnorm(p=0.975,mean=0,sd=1)


jednoczesne wyznaczenie kwantyli rzędów 0,9; 0,95; 0,975; 0,99; 0,995 rozkładu N(0,1)

qnorm(p=c(0.9, 0.95, 0.975, 0.99, 0.995), mean=0, sd=1)


Nadanie nazw poszczególnym współrzędnym wektora

kwantyle<-qnorm(p=c(0.9, 0.95, 0.975, 0.99, 0.995), mean=0, sd=1)

names(kwantyle)<-paste("kwantyl rzędu",c(0.9, 0.95, 0.975, 0.99, 0.995))

kwantyle


Generowanie liczb losowych z rozkładu normalnego

rnorm(n, mean, sd), gdzie n=liczba wylosowanych wartości, mean=mi, sd=sigma


rnorm(n=4, mean=10, sd=2)


set.seed(120)

losowe<-rnorm(n=1000,mean=10,sd=2)

#wyświetlenie 10 pierwszych wartości

losowe[1:10]

summary(losowe)

sd(losowe)

hist(losowe)


hist(losowe,prob=TRUE)

lines(density(losowe))#gęstość empiryczna

x<-seq(3,20,by=0.1)


hist(losowe,prob=TRUE)

lines(density(losowe))#gęstość empiryczna

lines(x=x,y=dnorm(x=x,mean=10,sd=2),col="red",lwd=2)#gęstość teoretyczna



Rozkład t-Studenta

?TDist


df=liczba stopni swobody



Funkcja gęstości dt(x, df, ncp, log = FALSE)

Dystrybuanta pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE)

Kwantyl qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE)

Liczby losowe rt(n, df, ncp)


#kwantyl rzędu 0,975 dla rozkładu t-Studenta z 10 stopniami swobody

qt(p=0.975,df=10)


Rozkład chi-kwadrat

? Chisquare


df=liczba stopni swobody



Funkcja gęstości dchisq(x, df, ncp=0, log = FALSE)

Dystrybuanta pchisq(q, df, ncp=0, lower.tail = TRUE, log.p = FALSE)

Kwantyl qchisq(p, df, ncp=0, lower.tail = TRUE, log.p = FALSE)

Liczby losowe rchisq(n, df, ncp=0)


#kwantyl rzędu 0,95 dla rozkładu chi-kwadrat z 8 stopniami swobody

qchisq(p=0.95,df=8)


Rozkład F-Snedecora

? FDist


df1=liczba stopni swobody „licznika”

df2=liczba stopni swobody „mianownika”



Funkcja gęstości df(x, df1, df2, ncp, log = FALSE)

Dystrybuanta pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)

Kwantyl qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)

Liczby losowe rf(n, df1, df2, ncp)



#kwantyl rzędu 0,9 dla rozkładu F-Snedecora z df1=3,df2=8

qf(p=0.9,df1=3,df2=8)



Rozkład logarytmiczno-normalny

?Lognormal


Gęstość rozkładu

The mean is E(X) = exp(μ + 1/2 σ^2), the median is med(X) = exp(μ), and the variance Var(X) = exp(2*μ + σ^2)*(exp(σ^2) - 1) and hence the coefficient of variation is sqrt(exp(σ^2) - 1) which is approximately σ when that is small (e.g., σ < 1/2).


Gęstość rozkładu logarytmiczno-normalnego

dlnorm(x, meanlog, sdlog)


curve(expr=dlnorm(x,meanlog=0,sdlog=1),from=0,to=8,ylab="Gęstość")


curve(expr=dlnorm(x,meanlog=2,sdlog=0.5),from=0,to=40,ylab="Gęstość")

curve(expr=dlnorm(x,meanlog=4,sdlog=2),from=0,to=40,ylab="Gęstość",lty=2,

add=T)



Wyszukiwarka

Podobne podstrony:
cw Rozklady prawdopod
ćw 2 rozklady ZL
5 PPOO Empiryczny rozkład prawdopodobieństwa(1)
MPiS cw 01 prawdopodobieństwo
0 Podstawowe rozklady prawdopdobienstwaid 1848
ROZKŁADY PRAWDOP(1)
Zmienna losowa i rozklad prawdopodobienstwa - zadania, Pliki, Studia PK (Mechaniczny & WIL)
Niezawodnosc Rozklady prawdopodobienstwa, id
Kamys B Tablice podstawowych rozkładów prawdopodobieństwa (kwantyle)
5 rozklady prawdopodobienstwa i Nieznany (2)
Estymacja parametr w rozkladu prawdopodobienstwa, Estymacja parametrów rozkładu prawdopodobieństwa:
35H8? ralf majorkiewicz przykladowy rozkład prawdopodobieństw
Rozkład Studenta, Rozkład Studenta - (rozkład t lub rozkład t-Studenta) ciągły rozkład prawdopodobie
podstawowe rozklady prawdopodob Nieznany
Cw 6 Rozkład napiecia
ćw 2 rozklady ZL