** Példa: egyenletes eloszlás **
Véletlenszerűen kiválasztunk egy pontot az \([a,b]\) intervallumból. Annak a valószínűsége, hogy a kiválasztott pont az \(E\subset [a,b]\) halmazba esik: \(P(E) = E\) hossza / \([a, b]\) hossza (feltéve, hogy az \(E\) halmaznak van hossza)
A valószínűségeloszlás jellemezhető az \(f: \mathbb R \to \mathbb R\): \(f(x) = 1/(b-a)\), ha \(x\in [a,b]\) és 0 különben függvénnyel úgy, hogy \(P(E) =\int_E f(x)dx\).
Vagyis ha egy véges intervallumra úgy dobunk egy pontot, hogy az intervallum bármely részintervallumára annak hosszával arányos valószínűséggel essen, akkor a pont értéke (\(x\)-koordinátája) egyenletes eloszlású valószínűségi változó, sűrűségfüggvénye a fenti f, eloszlásfüggvénye: \(F(x) = (x-a)/(b-a)\), ha \(x \in [a,b]\) (és 0, ha \(x\le a\) és 1, ha \(x\ge b\))
Abszolút folytonos valószínűségi változó:
Ha létezik az \(X\) valószínűségi változóhoz olyan \(f_X(x)\) függvény, amelyre \(F_X(x) = \int_{-\infty} ^x f_X(t) dt\), akkor \(f_X(x)\)-et az \(X\) sűrűségfüggvényének hívjuk.
#############################################################################
### Abszolút folytonos valószínűségi változók esetén az eloszlásfüggvény R-ben: ###
# p betű + valószínűségi változó neve, pl. pnorm, punif, pt, ...
#############################################################################
##########################
## Egyenletes eloszlás: ##
## Egyenletes[a,b] ##
##########################
# Egyenletes[1,6] eloszlásfüggvénye
xegyen <- seq(0, 7, by = 1)
yegyen <- punif(xegyen, min = 1, max = 6)
plot(yegyen, type = "l", lwd=2, col="red", xaxt = "n",
xlab="x", ylab="F(x)",
main="Egyenletes[1,6] eloszlásfüggvénye")
axis(1, at=1:8, labels=c(0:7))
abline(h = 0, col = "grey", lty = 2); abline(h = 1, col = "grey", lty = 2)
# Egyenletes[1,6] sűrűségfüggvénye
x <- seq(0,7,length=200)
y <- dunif(x,min=1,max=6)
plot(x,y,
lwd=2, col="blue",
ylim=c(0, 0.4),
ylab="f(x)",
main="Egyenletes[1,6] sűrűségfüggvénye")
# Egyenletes[1,6] sűrűségfüggvénye (szebb grafika)
x <- seq(1,6,length=200)
y <- dunif(x,min=1,max=6)
plot(x,y, type="l", lwd=2, col="blue",
xlim=c(0, 7), ylim=c(0, 0.4),
ylab="f(x)",
main="Egyenletes[1,6] sűrűségfüggvénye")
xe <- c(seq(0,1,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
xe <- c(seq(6,7,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
# fv. alatti terület = 1
polygon(c(1,x,6),c(0,y,0),col="lightgray",border=NA)
lines(x,y,type="l",lwd=2,col="blue")
# P(1 < X < 3) = ?
polygon(c(1,x,6),c(0,y,0),col="white",border=NA)
lines(x,y,type="l",lwd=2,col="blue")
xvsz <- seq(1,3,length=100)
yvsz <- dunif(xvsz, min=1, max=6)
polygon(c(1,xvsz,3),c(0,yvsz,0),col="lightgray",border=NA)
lines(xvsz,yvsz,type="l",lwd=2,col="blue")
punif(3, min=1,max=6)
## [1] 0.4
# P(3 < X < 4.5) = ?
polygon(c(1,xvsz,3),c(0,yvsz,0),col="white",border=NA)
lines(x,y,type="l",lwd=2,col="blue")
xvsz <- seq(3,4.5,length=100)
yvsz <- dunif(xvsz,min=1, max=6)
polygon(c(3,xvsz,4.5),c(0,yvsz,0),col="lightgray",border=NA)
lines(x,y,type="l",lwd=2,col="blue")
punif(4.5, min=1,max=6) - punif(3, min=1, max=6)
## [1] 0.3
#############################
## Exponenciális eloszlás: ##
## Exp(lambda) ##
#############################
# lambda>0 paraméterű exponenciális eloszlás
# sűrűségfüggvénye: f(x) = lambda*e^{-lambda*x} ha x > 0 és
# 0 különben
# pl. radioaktív részecske bomlási ideje, élettartam, várakozási idő
##########################
## Normális eloszlás: ##
## N(mu, szigma) ##
##########################
# m várható értékű, szigma szórású normális eloszlás
# sűrűségfüggvénye: f(x) = 1/(sqrt(2Pi)*szigma) e^(-(x-mu)^2/2*szigma^2)
# Pl. testmértékek, terméshozam, IQ score
# https://en.wikipedia.org/wiki/Intelligence_quotient
# 0 várható értékű, szigma=1 szórású normális eloszlás = standard normális eloszlás,
# eloszlásfüggvénye Fi(x) = integrál_(-Inf to x) f(x) nem elemi fv.
# 3. # set.seed(2)
xseq <- seq(-4,4, 0.01)
# a) Ábrázolja a standard normáls eloszlásfüggvényétgvényét!
# X ~ N(0, 1) eloszlásfüggvénye: Fi(x) = P(X < x) = pnorm(x)
plot(xseq, pnorm(xseq, 0, 1), col="red", type="l",lwd=2,
xlab="x", ylab="Fi(x)",
main="Standard normális eloszlásfüggvénye\n (értéke pl. 1-ben: Fi(1) = P(X < 1) =\n pnorm(1) = 0.8413447)")
abline(h = c(0,1), lty = 2)
abline(v = 1, lty = 3)
abline(h = pnorm(1), lty = 3)
# b) Ábrázolja a standard normáls sűrűségfüggvényét!
suruseg <- dnorm(xseq, 0,1)
plot(xseq, suruseg, type="l",lwd=2, col="blue", # cex.axis=0.8,
xlab="x", ylab="f(x)",
main="Standard normális sűrűségfüggvénye")
# c) Normális(mu, szigma) eloszlás sűrűségfüggvénye
x <- seq(-6,6,1/1000)
dnorm <- dnorm(x)
plot(x, dnorm, type="l", col="green", lwd=2, ylab='', xlab='',
main = "Normális eloszlás sűrűségfüggvénye")
legend(x='topleft', bty='n',
legend = c("N(0,1)", "N(2,1)", "N(0,2)", "N(0,3)"),
col = c("green","yellow", "blue","red"), lwd = 2 )
lines(x, dnorm, type="l", col="black", lty=2)
dn2 <- dnorm(x, mean = 2, sd = 1)
lines(x, dn2, type="l", col="yellow", lwd=2)
dn3 <- dnorm(x, mean = 0, sd = 2)
lines(x, dn3, type="l", col="blue", lwd=2)
dn4 <- dnorm(x, mean = 0, sd = 3)
lines(x, dn4,type="l", col="red", lwd=2)
# d) Szinumláljon adatokat standard normális eloszlásból, majd ábrázolja hisztogrammal.
# Rajzolja fel a standard normális sűrűségfüggvényt is az ábrára!
szim <- rnorm(10000, 0, 1)
hist(szim, freq=FALSE,
xlab=" ",
ylab="sűrűség",
main="Standard normális szimuláció")
curve(dnorm(x, 0, 1), add=TRUE, col="blue", lwd=2)
# curve(dnorm(x, mean(szim), sd(szim)), add=TRUE, col="darkblue", lwd=2)
##
## Egyenletes eloszlás / Egyenletes[a, b] /
x <- seq(1,6,length=200)
y <- dunif(x,min=1,max=6)
plot(x,y, type="l", lwd=2, col="blue",
xlim=c(0, 7), ylim=c(0, 0.4),
ylab="f(x)",
main="Egyenletes[1,6] sűrűségfüggvénye")
xe <- c(seq(0,1,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
xe <- c(seq(6,7,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
polygon(c(1,x,6),c(0,y,0),col="white",border=NA)
lines(x,y,type="l",lwd=2,col="blue")
xvsz <- seq(1,3,length=100)
yvsz <- dunif(xvsz, min=1, max=6)
polygon(c(1,xvsz,3),c(0,yvsz,0),col="lightgray",border=NA)
lines(xvsz,yvsz,type="l",lwd=2,col="blue")
## Stadard normális eloszlás / N(0, 1) /
xseq <- seq(-4,4, 0.01)
plot(xseq, dnorm(xseq, 0,1),
type = "l",
lwd = 2,
col = "blue",
#cex.axis = 0.8,
xlab = "x",
ylab = "f(x)",
main = "Standard normális sűrűségfüggvénye")
text(-2.5, 0.3, expression(f(x) ==
paste(frac(1, sqrt(2*pi)*sigma)," ",e^{frac(-(x - mu)^2, 2 * sigma^2)})),
cex = 1.2)
# curve(dnorm, from=-4, to=4, n=41000, main="Standard normális sűrűségfüggvénye")
## Normális eloszlás / N(m, szigma) /
x <- seq(-6,6,1/1000)
plot(x, dnorm(x), type="l", col="yellow", lwd=2, ylab='', xlab='',
main = "Normális eloszlás sűrűségfüggvénye")
lines(x, dnorm(x), type="l", col="black", lty=2) # N(m = 0, szigma = 1)
dn2 <- dnorm(x, mean = 2, sd = 1)
lines(x, dn2, type="l", col="purple", lwd=2) # N(m = 2, szigma = 1)
dn3 <- dnorm(x, mean = 0, sd = 2)
lines(x, dn3, type="l", col="blue", lwd=2) # N(m = 0, szigma = 2)
dn4 <- dnorm(x, mean = 0, sd = 3)
lines(x, dn4,type="l", col="red", lwd=2) # N(m = 0, szigma = 3)
legend(x='topleft',bty='n',
legend = c(paste(
c("N(0, 1)","N(2, 1)", "N(0, 2^2)","N(0, 3^2)"), sep='=')),
col = c("yellow", "purple", "blue", "red"), lwd = 2 )
## Normális valószínűségi változó standardizálása
# X ~ N(m, szigma) => (X - m)/szigma ~ N(0, 1)
x <- rnorm(1000, mean = 5, sd = 3)
hist(x, freq=FALSE)
curve(dnorm(x, 5, 3), add=TRUE, col="blue", lwd=2)
nx <- ( x - 5 ) / 3
hist(nx, freq=FALSE)
curve(dnorm(x, 0, 1), add=TRUE, col="blue", lwd=2)
# Példa:
# X ~ N(3,2^2)
# P(X < 4) = P(X-3 < 4-3) = P((x-3)/2 < (4-3)/2)
pnorm(4, mean = 3, sd = 2) == pnorm(1/2)
## [1] TRUE
# 1. Feladat: Legyen X ~ N(7, 3^2) valószínűségi változó. Számolja ki
# P(X > 8) - at standardizálással is!
1 - pnorm(8, mean = 7, sd = 3)
## [1] 0.3694413
# vagy
pnorm(8, mean = 7, sd = 3, lower.tail = FALSE)
## [1] 0.3694413
1 - pnorm((8-7)/3)
## [1] 0.3694413
# vagy
pnorm((8-7)/3, lower.tail = FALSE)
## [1] 0.3694413
## Függvény alatti terület:
x <- seq(-4, 4,length=200)
y <- dnorm(x, mean=0, sd=1)
plot(x,y,type="l",lwd=3,col="black",
main = "Standard normális")
x <- seq(-4, -1, length=100)
y <- dnorm(x, mean=0, sd=1)
polygon(c(-4, x, -1),c(0,y,0),col="red")
## t eloszlás / t_n /
x <- seq(-6,6,1/1000)
dt4 <- dt(x, 30)
plot(x, dt4, type="l", col="yellow", lwd=2, ylab='', xlab='',
main = "t eloszlás sűrűségfüggvénye")
dt1 <- dt(x, 0.5)
lines(x, dt1, type="l", col="cyan", lwd=2)
dt2 <- dt(x, 1.5)
lines(x, dt2, type="l", col="purple", lwd=2)
dt3 <- dt(x, 5)
lines(x, dt3, type="l", col="red", lwd=2)
dnorm <- dnorm(x)
lines(x, dnorm ,type="l", col="black", lty=2)
legend(x='topleft',bty='n',
legend = c(paste('sz.f.',
c(0.5, 1.5, 5, 30), sep='=')),
col = c("cyan", "purple", "red", "yellow"), lwd = 2 )
legend(x='topright',bty='n',
legend = c(paste('N(0,1)', sep='=')),
col = c("black"), lwd = 2, lty = 3)
## Exponenciális / Exp(lambda) / eloszlás
x <- seq(0, 1, 1/1000)
dt1 <- dexp(x, rate = 2.5)
plot(x, dt1, type="l", col="red", lwd=2, ylab='', xlab='',
main = "Exponenciális eloszlás sűrűségfüggvénye")
dt2 <- dexp(x, rate = 2)
lines(x, dt2, type="l", col="purple", lwd=2)
dt3 <- dexp(x, rate = 1)
lines(x, dt3, type="l", col="blue", lwd=2)
de4 <- dexp(x, rate = 1/2)
lines(x, de4, type="l", col="orange", lwd=2)
legend(x='topright',bty='n',
legend = c(paste('lambda', c(2.5, 2, 1, 1/2),sep='=')),
col = c("red", "purple", "blue", "orange"), lwd = 2 )
## Khí-négyzet / Chi-square(df) / eloszlás
x <- seq(0, 15, 1/1000)
dchisq1 <- dchisq(x, df = 2)
plot(x, dchisq1, type="l", col="red", lwd=2, ylab='', xlab='',
main = "Khí-négyzet eloszlás sűrűségfüggvénye")
dchisq2 <- dchisq(x, df = 3)
lines(x, dchisq2, type="l", col="purple", lwd=2)
dchisq3 <- dchisq(x, df = 4)
lines(x, dchisq3, type="l", col="blue", lwd=2)
dchisq4 <- dchisq(x, df = 5)
lines(x, dchisq4, type="l", col="orange", lwd=2)
legend(x='topright',bty='n',
legend = c(paste('df', c(2, 3, 4, 5),sep='=')),
col = c("red", "purple", "blue", "orange"), lwd = 2 )
## F / F(df1,df2) / eloszlás
x <- seq(0, 5, 1/1000)
df1 <- df(x, df1 = 2, df2=1)
plot(x, df1, type="l", col="red", lwd=2, ylab='', xlab='',
main = "F eloszlás sűrűségfüggvénye")
df2 <- df(x, df1 = 5, df2=2)
lines(x, df2, type="l", col="purple", lwd=2)
df3 <- df(x, df1 = 5, df2=5)
lines(x, df3, type="l", col="blue", lwd=2)
df4 <- df(x, df1 = 20, df2=20)
lines(x, df4, type="l", col="orange", lwd=2)
legend(x='topright',bty='n',
legend = c(paste('df1, df2', c("2, 1", "5, 2", "5, 5", "20, 20"),sep=' = ')),
col = c("red", "purple", "blue", "orange"), lwd = 2 )
## Nevezetes abszolút folytonos eloszlásfüggvények
par(mfrow=c(2,2))
x_sample <- seq(-3.2, 3.2, 0.001)
plot(x_sample, pnorm(x_sample),
type="l", col="red", lwd=2, main="Eloszlásfüggvény: N(0,1)", ylab='', xlab='')
plot(x_sample, pt(x_sample, 5),
type="l", col="red", lwd=2, main="t_5", ylab='', xlab='')
plot(x_sample, pexp(x_sample, 5),
type="l", col="red", lwd=2, main="Exp(5)", ylab='', xlab='')
plot(x_sample, punif(x_sample, -2,2),
type="l", col="red", lwd=2, main="Egyenletes[-2,2]", ylab='', xlab='')
par(mfrow=c(1,1))
## Nevezetes abszolút folytonos sűrűségfüggvények
par(mfrow=c(2,2))
x_sample <- seq(-3.2, 3.2, 0.001)
plot(x_sample, dnorm(x_sample),
type="l", col="blue", lwd=2, main="Sűrűségfüggvény: N(0,1)", ylab='', xlab='')
plot(x_sample, dt(x_sample, 5),
type="l", col="blue", lwd=2, main="t_5", ylab='', xlab='')
x_sample <- c(seq(0.01,1.5, 0.001))
plot(x_sample, dexp(x_sample, 5), xlim=c(-0.5, 1.5),
type="l", col="blue", lwd=2, main="Exp(5)", ylab='', xlab='')
xe <- c(seq(-3,0,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
x <- seq(1,6,length=200)
y <- dunif(x,min=1,max=6)
plot(x,y, type="l", lwd=2, col="blue", main="Egyenletes[1,6]",
xlim=c(0, 7), ylim=c(0, 0.4), ylab='', xlab='')
xe <- c(seq(0,1,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
xe <- c(seq(6,7,length=100))
ye <- seq(0,0,length=100)
lines(xe,ye,type="l",lwd=2,col="blue")
par(mfrow=c(1,1))
# 2. Feladat: Mit rajzol ki az alábbi program? MUtassa meg, hogy az alábbi függvény sűrűségfüggvény!
# Mit jelöl a besatírozott terület? Számolja ki és ábrázolja az eloszlásfüggvényt!
x <- seq(0, 2, 1/100); y <- 1/4*(2-x)^3
xa <- seq(-1, 0, 1/100); ya <- rep(0,length(xa))
xb <- seq( 2, 3, 1/100); yb <- rep(0,length(xb))
plot(x, y, type="l", col="black", lwd=3, ylab='', xlab='', xlim=c(-0.5,2.5), xaxt = "n", main = " ")
axis(1, cex.axis = 1.5)
lines(xb, yb, type="l", col="black", lwd=3)
lines(xa, ya, type="l", col="black", lwd=3)
abline(h = 0, lty = 2)
x1 <- seq(0, 0.5, 1/100)
y1 <- 1/4*(2-x1)^3
polygon(c(0,x1,0.5),c(0,y1,0),col="yellow")
########## MEGOLDÁS ##########
# sűrűségfv: nemnegatív és integrál_{0-tól 3-ig} 1/4*(2-x)^3 = 1
# besatírozott terület: P(0 < X < 0.5)
# eloszlásfv: 0, ha x<=0;
# integrál_{0-tól x-ig} 1/4*(2-x)^3 = 1-(2-x)^4/16, ha 0<x<=2
# 1, ha x>2
x <- seq(0, 2, 1/100); y <- 1-(2-x)^4/16
xa <- seq(-1, 0, 1/100); ya <- rep(0,length(xa))
xb <- seq( 2, 3, 1/100); yb <- rep(1,length(xb))
plot(x, y, type="l", col="black", lwd=3, ylab='', xlab='', xlim=c(-0.5,2.5), xaxt = "n", main = " ")
axis(1, cex.axis = 1.5)
lines(xb, yb, type="l", col="black", lwd=3)
lines(xa, ya, type="l", col="black", lwd=3)
abline(h = 0, lty = 2)
##############################
########################
# Nagy számok törvénye #
########################
##############
# Kockadobás #
##############
kocka <- 1:6
n <- 1000 # mintanagyság: dobások száma
dobasok <- sample(kocka, size = n, replace = TRUE)
atlagok <- cumsum(dobasok) / 1:n
plot(atlagok,
xlab = "kockadobások száma",
ylab = "átlag",
ylim = c(1,6),
type = "l",
main = paste("Szimulált kockadobások átlaga (", n, "dobásig )"))
abline(h = 3.5, col = "blue")
##################################
# Binomiális eloszás: Bin(n1, p) #
##################################
n1 <- 8
p <- 0.3
n <- 1000
x <- rbinom(n, n1, p)
atlagok <- cumsum(x) / 1:n
plot(atlagok,
xlab = "kísérletek száma",
ylab = "átlagok",
#ylim = c(0, 1),
type = "l",
main = paste("Szimulált binomiális ( Bin(",n1,",",p,") ) átlaga"))
abline(h = n1*p, col = "blue")
###################################
# Normális eloszás: N(mu, szigma) #
###################################
mu <- 46
szigma <- 2
n <- 1000
x <- rnorm(n, mu, szigma)
atlagok <- cumsum(x) / 1:n
plot(atlagok,
xlab = "kísérletek száma",
ylab = "átlagok",
#ylim = c(mu-2*szigma, mu+2*szigma),
type = "l",
main = paste("Szimulált normális ( N(",mu,",",szigma,"^2) ) átlaga"))
abline(h = mu, col = "blue")
# plot(x, pch = ".")
# points(1:n, atlagok, type = "l", col = "red")
#################################
# Centrális határeloszlás tétel #
#################################
##############
# Kockadobás #
##############
# CHT alapján n kockadobás átlagának eloszlása:
n <- 100
x1 <- seq(1,6,0.001)
plot(x1,dnorm(x1,mean=3.5,sd=1.707825/sqrt(n)),
type='l', col="red", lwd=2, ylab="", xlab="",
main='n kockadobás átlagának eloszlása a CHT alapján')
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(5)), type="l", col="green", lwd=2)
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(10)), type="l", col="yellow", lwd=2)
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(30)), type="l", col="orange", lwd=2)
legend(x='topleft',bty='n',
legend = c(paste(c("n = 5","n = 10", "n = 30","n = 100"), sep='=')),
col = c("green", "yellow", "orange", "red"), lwd = 2 )
# szimuáció:
x <- 1:6
ndobas <- 30 # dobások száma
rep <- 1000 # ismétlések száma
A <- matrix(sample(x, ndobas*rep, replace=T), ncol=ndobas, byrow=TRUE)
xbar<-apply(A,1,mean) # ndobas átlaga
head(cbind(A,xbar))
## xbar
## [1,] 2 6 6 4 1 3 2 2 4 5 4 2 3 3 4 5 4 5 3 5 6 4 5 1 5 3 4 5 1 6 3.766667
## [2,] 6 3 4 4 6 3 4 3 6 1 5 1 6 2 2 4 1 4 2 4 6 2 6 1 4 5 6 2 1 5 3.633333
## [3,] 3 2 5 1 2 4 4 1 3 2 4 4 1 4 5 6 6 1 4 3 5 2 5 3 6 3 4 1 6 2 3.400000
## [4,] 5 3 4 1 1 2 3 6 3 5 5 3 3 2 1 3 3 1 2 2 2 4 2 5 3 4 2 4 4 5 3.100000
## [5,] 1 2 3 3 1 3 5 1 2 3 2 3 6 5 2 5 4 1 1 2 6 6 2 6 5 1 2 5 6 3 3.233333
## [6,] 2 1 3 4 2 1 4 5 4 1 4 3 4 2 3 4 3 4 6 2 2 5 3 5 6 4 4 6 6 5 3.600000
tail(cbind(A,xbar))
## xbar
## [995,] 4 2 2 4 2 2 3 4 1 1 4 6 6 5 6 2 4 2 4 3 6 5 2 2 4 2 5 2 2 1 3.266667
## [996,] 2 1 2 4 3 4 2 3 3 4 2 1 5 5 2 3 1 2 6 2 2 2 6 6 6 1 2 5 6 3 3.200000
## [997,] 5 5 4 5 6 2 5 5 2 2 5 5 4 1 5 3 5 2 1 4 4 5 3 1 1 2 6 3 1 6 3.600000
## [998,] 3 5 3 6 3 6 3 5 2 2 2 6 2 5 5 6 6 4 6 6 2 6 3 5 1 5 5 2 6 3 4.133333
## [999,] 5 2 5 3 1 6 4 5 1 2 2 1 2 3 4 2 3 2 6 5 2 1 5 3 1 4 6 5 2 2 3.166667
## [1000,] 5 3 5 4 2 5 1 6 4 5 3 2 1 3 5 4 4 3 6 5 2 2 6 6 1 3 1 3 2 5 3.566667
hist(xbar, col="blue", freq=F, xlab="", ylab="sűrűség",
ylim=range(0,max(hist(xbar)$density, dnorm(x1,mean=3.5,sd=1.707825/sqrt(ndobas)))),
main = paste(ndobas, "kockadobás átlaga (", rep, "- szer szimulálva )"))
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(ndobas)), type="l", col="orange", lwd=2)
par(mfrow=c(2,2))
hist(apply(matrix(sample(x, 5*rep, replace=T), ncol=5, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "5 kockadobás átlaga")
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(5)), type="l", col="green", lwd=2)
hist(apply(matrix(sample(x, 10*rep, replace=T), ncol=10, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "10 kockadobás átlaga")
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(10)), type="l", col="yellow", lwd=2)
hist(apply(matrix(sample(x, 30*rep, replace=T), ncol=30, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "30 kockadobás átlaga")
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(30)), type="l", col="orange", lwd=2)
hist(apply(matrix(sample(x, 100*rep, replace=T), ncol=100, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "100 kockadobás átlaga")
lines(x1, dnorm(x1,mean=3.5,sd=1.707825/sqrt(100)), type="l", col="red", lwd=2)
par(mfrow=c(1,1))
##################################################################################
################################### FELADATOK ####################################
##################################################################################
# 4)
# a) Legyen Z ~ N(0, 1).
# P(Z < 1.645) = ?
pnorm(1.645)
## [1] 0.9500151
# P(Z < z) = 0,95, z = ?
qnorm(0.95)
## [1] 1.644854
# P(Z < -1.645) = ?
pnorm(-1.645)
## [1] 0.04998491
# P(Z < z) = 0,05, z = ?
qnorm(0.05)
## [1] -1.644854
# P(Z > 1,96) = ?
1-pnorm(1.96)
## [1] 0.0249979
pnorm(1.96, lower.tail = FALSE)
## [1] 0.0249979
# b) Legyen X ~ N(25, 3^2).
# P(X < 33) = ?
pnorm(33, mean = 25, sd = 3)
## [1] 0.9961696
# P(X < x) = 0,95, x = ?
qnorm(0.95, mean = 25, sd = 3)
## [1] 29.93456
# P(X < 21) = ?
pnorm(21, mean = 25, sd = 3)
## [1] 0.09121122
# P(X < x) = 0,05, x = ?
qnorm(0.05, mean = 25, sd = 3)
## [1] 20.06544
# P(X > 22) = ?
1-pnorm(22, mean = 25, sd = 3)
## [1] 0.8413447
pnorm(22, mean = 25, sd = 3, lower.tail = FALSE)
## [1] 0.8413447
# P(23 < X < 25) = ?
pnorm(25, mean = 25, sd = 3) - pnorm(23, mean = 25, sd = 3)
## [1] 0.2475075
# 5. ### Táblás gyakorlat 2.11 a) Feladat ###
# Egy tehén napi tejhozamát normális eloszású valószínűségi változóval,
# m = 22,1 liter várható értékkel és szigma = 1,5 liter szórással modellezzük.
# Mi annak a valószínűsége, hogy egy adott napon a tejhozam 23 és 25 liter közé esik?
########## MEGOLDÁS ##########
pnorm(25, mean = 22.1, sd = 1.5) - pnorm(23, mean = 22.1, sd = 1.5)
## [1] 0.2476555
##############################
# 6. ### Táblás gyakorlat 3.10 Feladat ###
# Tegyük fel, hogy egy populációban az intelligenciahányados (IQ) normális eloszlású
# 110 várható értékkel és 10 szórással. Mi a valószínűsége, hogy egy véletlenszerűen
# kiválasztott ember IQ-ja 120 feletti?
########## MEGOLDÁS ##########
1-pnorm(120, mean = 110, sd = 10)
## [1] 0.1586553
# vagy
pnorm(120, mean = 110, sd = 10, lower.tail = FALSE)
## [1] 0.1586553
##############################
# 7. ### Táblás gyakorlat 2.12 Feladat ###
# Mennyi garanciát adjunk, ha azt szeretnénk, hogy termékeink legfeljebb 10%-át kelljen
# garanciaidőn belül javítani, ha a készülék élettartama 10 év várható értékű és
# 2 év szórású normális eloszlással közelíthető.
########## MEGOLDÁS ##########
qnorm(0.1, mean = 10, sd = 2)
## [1] 7.436897
##############################
# 8. Magyarországon 2017 tavaszán a 16 éves és idősebb népességen belül a férfiak
# átlagos magassága 176 cm, 9 cm szórással.
# a) Mennyi annak a valószínűsége, hogy egy véletlenszerűen kiválasztott férfi
# testmagassága 165 és 185 cm közé esik?
########## MEGOLDÁS ##########
pnorm(185, mean = 176, sd = 9) - pnorm(165, mean = 176, sd = 9)
## [1] 0.7305329
##############################
# b) Mennyi a valószínűsége, hogy egy férfi magasabb 2 méternél?
########## MEGOLDÁS ##########
1 - pnorm(200, mean = 176, sd = 9)
## [1] 0.003830381
##############################
# c) Hány cm-es testmagasság alatt van a férfiak 90%-a?
########## MEGOLDÁS ##########
round(qnorm(0.9, mean = 176, sd = 9), 1)
## [1] 187.5
##############################
# d) Mekkora testmagasság felett van a férfiak 80%-a?
########## MEGOLDÁS ##########
round(qnorm(0.2, mean = 176, sd = 9), 1)
## [1] 168.4
##############################
# 9. ### Táblás gyakorlat 3.7 Feladat ###
# Tapasztalatok szerint az út hossza, amit egy bizonyos típusú robogó megtesz az első
# meghibásodásáig exponenciális eloszlású valószínűségi változó. Ez a távolság
# átlagosan 6000 km. Mi a valószínűsége annak, hogy egy véletlenszerűen
# kiválasztott robogó
# a) kevesebb, mint 4000 km megtétele után meghibásodik?
########## MEGOLDÁS ##########
pexp(4000, rate = 1/6000)
## [1] 0.4865829
##############################
# b) több, mint 6500 km megtétele után hibásodik meg?
########## MEGOLDÁS ##########
1 - pexp(6500, rate = 1/6000)
## [1] 0.3384654
##############################
# c) 4000 km-nél több, de 6000 km-nél kevesebb út megtétele után hibásodik meg?
########## MEGOLDÁS ##########
pexp(6000, rate = 1/6000) - pexp(4000, rate = 1/6000)
## [1] 0.1455377
##############################
# d) Legfeljebb mekkora utat tesz meg az elso meghibásodásig a robogók leghamarabb meghibásodó 20%-a?
########## MEGOLDÁS ##########
qexp(0.2, rate = 1/6000)
## [1] 1338.861
##############################
##################################
# Binomiális eloszás: Bin(m, p) #
##################################
n <- 100
m <- 10
p <- 0.3
x1 <- seq(0,10,0.001)
plot(x1,dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(n)),
type='l', col="red", lwd=2, ylab="", xlab="",
main='n Binom(10, 0.3) átlagának eloszlása a CHT alapján')
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(5)), type="l", col="green", lwd=2)
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(10)), type="l", col="yellow", lwd=2)
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(30)), type="l", col="orange", lwd=2)
legend(x='topright',bty='n',
legend = c(paste(c("n = 5","n = 10", "n = 30","n = 100"), sep='=')),
col = c("green", "yellow", "orange", "red"), lwd = 2 )
# szimuáció:
n <- 30
m <- 10
p <- 0.3
rep <- 1000 # ismétlések száma
A <- matrix(rbinom(n*rep,m,p), ncol=n, byrow=TRUE)
xbar<-apply(A,1,mean) # n db átlaga
head(cbind(A,xbar))
## xbar
## [1,] 5 0 3 1 3 3 4 2 5 4 4 3 2 4 2 4 3 2 4 2 2 3 2 1 4 2 5 5 3 2 2.966667
## [2,] 4 5 2 2 2 3 3 3 2 4 2 2 4 3 3 3 4 2 3 5 3 3 1 2 5 1 4 5 5 5 3.166667
## [3,] 3 4 3 2 3 2 3 3 3 0 3 2 4 2 3 2 2 3 1 5 3 2 3 1 2 2 3 2 5 3 2.633333
## [4,] 3 4 3 2 2 4 3 2 3 1 1 3 3 0 4 0 2 5 2 2 4 4 0 1 2 3 3 2 6 6 2.666667
## [5,] 3 3 2 4 2 1 6 4 3 5 3 5 4 2 2 4 5 1 1 1 2 2 3 2 4 5 1 5 1 3 2.966667
## [6,] 3 2 4 6 5 4 3 2 2 3 3 5 2 4 4 5 3 3 5 2 0 5 1 3 2 1 3 2 3 5 3.166667
tail(cbind(A,xbar))
## xbar
## [995,] 3 2 3 5 1 2 2 1 5 3 2 2 5 2 2 2 4 1 4 4 1 2 3 0 5 4 4 4 3 4 2.833333
## [996,] 2 3 2 3 1 1 3 2 2 0 5 2 3 4 8 5 3 3 4 3 3 4 1 3 2 4 5 6 1 6 3.133333
## [997,] 3 4 3 2 5 3 1 4 1 0 1 4 3 3 4 7 2 1 2 4 3 4 4 4 2 4 3 3 4 4 3.066667
## [998,] 3 4 3 4 6 5 3 4 2 2 5 4 4 3 0 6 2 3 2 2 2 1 3 1 4 3 4 3 3 2 3.100000
## [999,] 4 3 3 3 3 1 2 5 3 3 1 2 3 2 4 2 4 0 2 0 2 2 2 3 3 4 2 3 4 4 2.633333
## [1000,] 7 3 3 3 6 3 4 2 3 5 4 4 4 3 4 2 5 4 1 4 3 5 3 3 5 2 1 4 2 4 3.533333
hist(xbar, col="blue", freq=F, xlab="", ylab="sűrűség",
main = paste(n, "Binom(10, 0.3) átlaga (", rep, "- szer szimulálva )"))
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(n)), type="l", col="orange", lwd=2)
par(mfrow=c(2,2))
hist(apply(matrix(rbinom(n*rep,m,p), ncol=5, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "5 Binom(10, 0.3) átlaga")
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(5)), type="l", col="green", lwd=2)
hist(apply(matrix(rbinom(n*rep,m,p), ncol=10, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "10 Binom(10, 0.3) átlaga")
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(10)), type="l", col="yellow", lwd=2)
hist(apply(matrix(rbinom(n*rep,m,p), ncol=30, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "30 Binom(10, 0.3) átlaga")
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(30)), type="l", col="orange", lwd=2)
hist(apply(matrix(rbinom(n*rep,m,p), ncol=100, byrow=T),1,mean),
col="blue", freq=F, xlim=c(1,6), xlab="", ylab="sűrűség",
main = "100 Binom(10, 0.3) átlaga")
lines(x1, dnorm(x1,mean=m*p,sd=sqrt(m*p*(1-p))/sqrt(100)), type="l", col="red", lwd=2)
par(mfrow=c(1,1))
##################################################################################
################ Gyakorló feladatok (2. táblás gyakorlat utánra) ################
##################################################################################
### Táblás gyakorlat 2.18 Feladat ###
# Tegyük fel, hogy egy tábla csokoládé tömege normális eloszlású 100g várható
# értékkel és 3g szórással. Legalább hány csokoládét csomagoljunk egy dobozba,
# hogy a dobozban levo táblák átlagos tömege legalább 0,9 valószínűséggel nagyobb
# legyen 99,5 g-nál, ha feltételezzük, hogy az egyes táblák tömege egymástól
# független?
# Legyen X = egy tábla csokoládé tömege ~ N(100, 3^2)
# X_átlag ~ N(100, (3/sqrt(n))^2)
# 0,9 = P(X_átlag > 99.5) = 1- P(X_átlag < 99,5) = 1 - P( std. normal < (99,5-100)/(3/sqrt(n) ) =
# = 1 - Fi(-sqrt(n)/6) = Fi(sqrt(n)/6)) vagyis qnorm(0.9) = sqrt(n)/6
########## MEGOLDÁS ##########
ceiling( (qnorm(0.9)*6)^2 )
## [1] 60
##############################
### Táblás gyakorlat 2.19 Feladat ###
# Egy scannelt kép átlagos mérete 600KB, 100KB szórással. Mi a valószínűsége,
# hogy 80 ilyen kép együttesen 47 és 48MB közötti tárhelyet foglal el, ha feltételezzük,
# hogy a képek mérete egymástól független?
# Legyen X = egy szkennelt kép mérete ~ N(600, 100^2)
########## MEGOLDÁS ##########
nmu <- 80*600
sqrtnszigma <- sqrt(80)*100
pnorm(48000, mean = nmu, sd = sqrtnszigma) - pnorm(47000, mean = nmu, sd = sqrtnszigma)
## [1] 0.3682238
##############################
### Táblás gyakorlat 2.20 Feladat ###
# Egy szoftver frissítéséhez 68 file-t kell installálni, amik egymástól függetlenül
# 10mp várható értékű és 2mp szórású ideig töltődnek.
# a) Mi a valószínűsége, hogy a teljes frissítés lezajlik 12 percen belül?
# b) A cég a következo frissítésnél azt ígéri, hogy az már 95% valószínűséggel 10
# percen belül betöltődik. Hány file-ból állhat ez a frissítés?
# Legyen X = egy fájl telepítési ideje ~ N(10, 2^2)
# a) P(S_n < 12 perc) = P(S_n < 12*60 mp) = P( std. normal < (720 - n*10)/(sqrt(n)*2) )
########## MEGOLDÁS ##########
nmu <- 680
sqrtnszigma <- sqrt(68)*2
pnorm(720, mean = nmu, sd = sqrtnszigma)
## [1] 0.9923533
##############################
# b) 0.95 < P(S_n < 600) = P( std. normal < (600-10n)/(2sqrt(n)) )
########## MEGOLDÁS ##########
floor( ( ( -2*qnorm(0.95) + sqrt( (2*qnorm(0.95))^2 + 4*10*600 ) ) / (2*10) )^2 )
## [1] 57
##############################