Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##tilp2 demo
- ##teht1
- set.seed(123)
- n <- 10
- mu.hat <- 3
- y <- rpois (n , mu )
- y
- # normitettu log-uskottavuus
- r <- function(mu) {-n*(mu-mu.hat) + n*mu.hat*log(mu/mu.hat)}
- curve(r,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr <- function(mu) {-n + n*mu.hat/mu} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu <- function(mu) {mu-(r(mu)-log(0.5))/dr(mu)}
- mulimit <- function(mu) {
- mu2 <- nextmu(mu)
- while(abs(mu-mu2) > 0.000001) {
- mu <- mu2
- mu2 <- nextmu(mu)
- }
- mu2
- }
- muleft <- mulimit(0.6) # vasen paatepiste
- muright <- mulimit(4.0) # oikea paatepiste
- c(muleft,muright) # 50 % uskottavuusvali
- ##otos2
- set.seed(321)
- n.2 <- 100
- mu.hat.2 <- 3
- y.2 <- rpois (n , mu )
- y.2
- # normitettu log-uskottavuus
- r.2 <- function(mu.2) {-n.2*(mu.2-mu.hat.2) + n.2*mu.hat.2*log(mu.2/mu.hat.2)}
- curve(r.2,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr.2 <- function(mu.2) {-n.2 + n.2*mu.hat.2/mu.2} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu.2 <- function(mu.2) {mu.2-(r.2(mu.2)-log(0.5))/dr.2(mu.2)}
- mulimit.2 <- function(mu.2) {
- mu2.2 <- nextmu.2(mu.2)
- while(abs(mu.2-mu2.2) > 0.000001) {
- mu.2 <- mu2.2
- mu2.2 <- nextmu.2(mu.2)
- }
- mu2.2
- }
- muleft.2 <- mulimit.2(0.6) # vasen paatepiste
- muright.2 <- mulimit(4.0) # oikea paatepiste
- c(muleft.2,muright.2) # 50 % uskottavuusvali
- ## otos3
- set.seed(666)
- n.3 <- 1000
- mu.hat.3 <- 3
- y.3 <- rpois(n.3 , mu.3 )
- y.3
- # normitettu log-uskottavuus
- r.3 <- function(mu.3) {-n.3*(mu.3-mu.hat.3) + n.3*mu.hat.3*log(mu.3/mu.hat.3)}
- curve(r.3,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr.3 <- function(mu.3) {-n.3 n.3*mu.hat.3/mu.3} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu.3 <- function(mu.3) {mu.3-(r.3(mu.3)-log(0.5))/dr.3(mu.3)}
- mulimit.3 <- function(mu.3) {
- mu2.3 <- nextmu.3(mu.3)
- while(abs(mu.3-mu2.3) > 0.000001) {
- mu.3 <- mu2.3
- mu2.3 <- nextmu.3(mu.3)
- }
- mu2.3
- }
- muleft.3 <- mulimit.3(0.6) # vasen paatepiste
- muright.3 <- mulimit.3(4.0) # oikea paatepiste
- c(muleft.3,muright.3) # 50 % uskottavuusvali
- ##plot
- par(mfrow=(c(1,3)))
- curve(r.3,from = min(y),to=max(y),lwd=2,ylim=c(-5,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft.3,muright.3),lty=2) # pystysuorat
- curve(r.2,from = min(y),to=max(y),lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft.2,muright.2),lty=2) # pystysuorat
- curve(r,from = min(y),to=max(y),lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft,muright),lty=2) # pystysuorat
- ###Tehtävä2
- par(mfrow=c(1,1))
- munat <- c(5,3,3,4,4,6)
- kuor <- c(4,3,2,2,4,5)
- m<-sum(munat)
- k<- sum(kuor)
- mu.hat <- m/length(munat)
- t.hat <- k/m
- mu.hat
- L <- function (mu,t) {exp(-6*mu)*mu^m*t^k*(1-t)^(m-k)}
- R <- function (mu,t) {L(mu,t)/L(mu.hat,t.hat)}
- # diskretisoidaan r 100 x100 - hilan avulla
- x <- seq (0,10, length = 100)
- y <- seq (0,1, length =100)
- rd <- matrix ( rep (0 ,100 * 100) , nrow =100)
- for ( i in 1:100)
- for ( j in 1:100)
- rd [i , j ] <- R ( x [ i ] , y [ j ])
- # tasauskottavuuskayrat
- contour (x, y, rd, levels = c(0.5 ,0.1 ,0.01) ,
- xlim = c (2,7.5) , ylim = c(0.5 ,1) , asp =6)
- points(mu.hat, t.hat) # SU - piste##tilp2 demo
- ##teht1
- set.seed(123)
- n <- 10
- mu.hat <- 3
- y <- rpois (n , mu )
- y
- # normitettu log-uskottavuus
- r <- function(mu) {-n*(mu-mu.hat) + n*mu.hat*log(mu/mu.hat)}
- curve(r,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr <- function(mu) {-n + n*mu.hat/mu} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu <- function(mu) {mu-(r(mu)-log(0.5))/dr(mu)}
- mulimit <- function(mu) {
- mu2 <- nextmu(mu)
- while(abs(mu-mu2) > 0.000001) {
- mu <- mu2
- mu2 <- nextmu(mu)
- }
- mu2
- }
- muleft <- mulimit(0.6) # vasen paatepiste
- muright <- mulimit(4.0) # oikea paatepiste
- c(muleft,muright) # 50 % uskottavuusvali
- ##otos2
- set.seed(321)
- n.2 <- 100
- mu.hat.2 <- 3
- y.2 <- rpois (n , mu )
- y.2
- # normitettu log-uskottavuus
- r.2 <- function(mu.2) {-n.2*(mu.2-mu.hat.2) + n.2*mu.hat.2*log(mu.2/mu.hat.2)}
- curve(r.2,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr.2 <- function(mu.2) {-n.2 + n.2*mu.hat.2/mu.2} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu.2 <- function(mu.2) {mu.2-(r.2(mu.2)-log(0.5))/dr.2(mu.2)}
- mulimit.2 <- function(mu.2) {
- mu2.2 <- nextmu.2(mu.2)
- while(abs(mu.2-mu2.2) > 0.000001) {
- mu.2 <- mu2.2
- mu2.2 <- nextmu.2(mu.2)
- }
- mu2.2
- }
- muleft.2 <- mulimit.2(0.6) # vasen paatepiste
- muright.2 <- mulimit(4.0) # oikea paatepiste
- c(muleft.2,muright.2) # 50 % uskottavuusvali
- ## otos3
- set.seed(666)
- n.3 <- 1000
- mu.hat.3 <- 3
- y.3 <- rpois(n.3 , mu.3 )
- y.3
- # normitettu log-uskottavuus
- r.3 <- function(mu.3) {-n.3*(mu.3-mu.hat.3) + n.3*mu.hat.3*log(mu.3/mu.hat.3)}
- curve(r.3,from = 0,to=10,lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- dr.3 <- function(mu.3) {-n.3 n.3*mu.hat.3/mu.3} # r:n derivaatta
- # ratkaistaan r(mu)-log(0.5) = 0 Newtonin menetelmalla
- nextmu.3 <- function(mu.3) {mu.3-(r.3(mu.3)-log(0.5))/dr.3(mu.3)}
- mulimit.3 <- function(mu.3) {
- mu2.3 <- nextmu.3(mu.3)
- while(abs(mu.3-mu2.3) > 0.000001) {
- mu.3 <- mu2.3
- mu2.3 <- nextmu.3(mu.3)
- }
- mu2.3
- }
- muleft.3 <- mulimit.3(0.6) # vasen paatepiste
- muright.3 <- mulimit.3(4.0) # oikea paatepiste
- c(muleft.3,muright.3) # 50 % uskottavuusvali
- ##plot
- par(mfrow=(c(1,3)))
- curve(r.3,from = min(y),to=max(y),lwd=2,ylim=c(-5,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft.3,muright.3),lty=2) # pystysuorat
- curve(r.2,from = min(y),to=max(y),lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft.2,muright.2),lty=2) # pystysuorat
- curve(r,from = min(y),to=max(y),lwd=2,ylim=c(-10,0),xlab="mu",ylab="r")
- abline(h=log(0.5),lty=2) # vaakasuora, 50 % usk.taso
- abline(v=c(muleft,muright),lty=2) # pystysuorat
- ###Tehtävä2
- par(mfrow=c(1,1))
- munat <- c(5,3,3,4,4,6)
- kuor <- c(4,3,2,2,4,5)
- m<-sum(munat)
- k<- sum(kuor)
- mu.hat <- m/length(munat)
- t.hat <- k/m
- mu.hat
- L <- function (mu,t) {exp(-6*mu)*mu^m*t^k*(1-t)^(m-k)}
- R <- function (mu,t) {L(mu,t)/L(mu.hat,t.hat)}
- # diskretisoidaan r 100 x100 - hilan avulla
- x <- seq (0,10, length = 100)
- y <- seq (0,1, length =100)
- rd <- matrix ( rep (0 ,100 * 100) , nrow =100)
- for ( i in 1:100)
- for ( j in 1:100)
- rd [i , j ] <- R ( x [ i ] , y [ j ])
- # tasauskottavuuskayrat
- contour (x, y, rd, levels = c(0.5 ,0.1 ,0.01) ,
- xlim = c (2,7.5) , ylim = c(0.5 ,1) , asp =6)
- points(mu.hat, t.hat) # SU - piste
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement