Janurary 4, 2015
A learning script for plotting each statistical models’ pdf and cdf, together with some basic statistical measures like mean, variance, std Variance in comparison with the known statistical functions.
Beta distribution PDF Chart
set.seed(5)
x <- seq(0, 1, length=200)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
data1 <- dbeta(x, 0.5, 0.5)
data2 <- dbeta(x, 5, 1)
data3 <- dbeta(x, 1, 3)
data4 <- dbeta(x, 2, 2)
data5 <- dbeta(x, 2, 5)
plot(x, data1, ylim=c(0, 2.5), ylab="PDF", type="l", lwd=2,
col="red", yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, data2, col="blue", lwd="2")
lines(x, data3, col="green", lwd="2")
lines(x, data4, col="brown", lwd="2")
lines(x, data5, col="purple", lwd="2")
legend(0.4, 2.5, c(expression(paste(alpha, "=", beta, "=0.5")),
expression(paste(alpha, "=5, ", beta, "=1")),
expression(paste(alpha, "=1, ", beta, "=3")),
expression(paste(alpha, "=2, ", beta, "=2")),
expression(paste(alpha, "=2, ", beta, "=5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=.75)
Beta distribution CDF Chart
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
pdata1 <- pbeta(x, 0.5, 0.5)
pdata2 <- pbeta(x, 5, 1)
pdata3 <- pbeta(x, 1, 3)
pdata4 <- pbeta(x, 2, 2)
pdata5 <- pbeta(x, 2, 5)
plot(x, pdata1, ylab="CDF", type="l", lwd=2, col="red", yaxs="i",
xaxs="i", frame.plot=FALSE)
lines(x, pdata2, col="blue", lwd="2")
lines(x, pdata3, col="green", lwd="2")
lines(x, pdata4, col="brown", lwd="2")
lines(x, pdata5, col="purple", lwd="2")
legend(0, 1, c(expression(paste(alpha, "=", beta, "=0.5")),
expression(paste(alpha, "=5, ", beta, "=1")),
expression(paste(alpha, "=1, ", beta, "=3")),
expression(paste(alpha, "=2, ", beta, "=2")),
expression(paste(alpha, "=2, ", beta, "=5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=0.75)
Beta distribution Mean, Variance, Standard Deviation
betaMean <- function(a, b) {
a/(a+b)
}
betaVar <- function(a, b){
a*b/((a+b)^2*(a+b+1))
}
betaSd <- function(a, b){
sqrt(a*b/((a+b)^2*(a+b+1)))
}
a <- 0.5; b <- 0.5
modelMean <- betaMean(a, b)
realMean <- mean(rbeta(1000, a, b))
modelVar <- betaVar(a, b)
realVar <- var(rbeta(1000, a, b))
modelSd <- betaSd(a, b) #
realSd <- sd(rbeta(1000, a, b))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 0.5 ; Real mean: 0.4948387
## Modeled variance: 0.125 ; Real variance: 0.1224283
## Modeled standard variation: 0.3535534 ; Real standard variation: 0.3637433
Binomial distribution PDF Chart
myBinom <- function(n, p) {
x <- seq(0, n, length=50)
y <- (factorial(n)/(factorial(n-x)*factorial(x)))*p^x*(1-p)^(n-x)
df <- data.frame(x, y)
colnames(df) <- c("x", "y")
return(df)
}
data1 <- myBinom(20, 0.5)
data2 <- myBinom(20, 0.7)
data3 <- myBinom(40, 0.5)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(data1, ylim=c(0, 0.25), xlim=c(0,40), ylab="PDF", type="n", yaxs="i",
xaxs="i", bty="n", frame.plot=FALSE)
points(data1$x, data1$y, col="red", pch=21, bg="red")
points(data2$x, data2$y, col="green", pch=21, bg="green")
points(data3$x, data3$y, col="blue", pch=21, bg="blue")
legend(25, 0.25, c("p=0.5, n=20","p=0.7, n=20", "p=0.5, n=40"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Beta distribution CDF Chart
pdata1 <- cumsum(data1$y); pdata1 <- pdata1/max(pdata1)
pdata2 <- cumsum(data2$y); pdata2 <- pdata2/max(pdata2)
pdata3 <- cumsum(data3$y); pdata3 <- pdata3/max(pdata3)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(seq(0, 20, length=50), pdata1, ylab="CDF", xlim=c(0, 40),
ylim=c(0.0, 1.1), lwd=2, col="red", pch=21, bg="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
points(seq(0,20, length=50), pdata2, col="green", pch=21, bg="green")
points(seq(0,40, length=50), pdata3, col="blue", pch=21, bg="blue")
legend(30, 0.4, c("p=0.5, n=20","p=0.7, n=20", "p=0.5, n=40"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Binomial distribution Mean, Variance, Standard Deviation
binomMean <- function(n, p) {
n*p
}
binomVar <- function(n, p){
n*p*(1-p)
}
binomSd <- function(a, b){
sqrt(n*p*(1-p))
}
n <- 20; p <- 0.5
modelMean <- binomMean(n, p)
realMean <- mean(rbinom(1000, n, p))
modelVar <- binomVar(n, p)
realVar <- var(rbinom(1000, n, p))
modelSd <- binomSd(n, p)
realSd <- sd(rbinom(1000, n, p))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 10 ; Real mean: 10.023
## Modeled variance: 5 ; Real variance: 5.258775
## Modeled standard variation: 2.236068 ; Real standard variation: 2.218007
Chi-squared distribution PDF Chart
x <- seq(0, 8, length=200)
data1 <- dchisq(x, 1)
data2 <- dchisq(x, 2)
data3 <- dchisq(x, 4)
data4 <- dchisq(x, 6)
data5 <- dchisq(x, 9)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(x, data1, ylim=c(0, 0.5), ylab="PDF", type="l", lwd=2, col="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, data2, col="blue", lwd="2")
lines(x, data3, col="green", lwd="2")
lines(x, data4, col="brown", lwd="2")
lines(x, data5, col="purple", lwd="2")
legend(6, 0.5, c("k=1","k=2","k=4","k=6","k=9"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=.75)
Chi-squared distribution CDF Chart
pdata1 <- pchisq(x, 1)
pdata2 <- pchisq(x, 2)
pdata3 <- pchisq(x, 4)
pdata4 <- pchisq(x, 6)
pdata5 <- pchisq(x, 9)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(x, pdata1, ylab="CDF", ylim=c(0, 1), type="l", lwd=2, col="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, pdata2, col="blue", lwd="2")
lines(x, pdata3, col="green", lwd="2")
lines(x, pdata4, col="brown", lwd="2")
lines(x, pdata5, col="purple", lwd="2")
legend(6.5, 0.4, c("k=1","k=2","k=4","k=6","k=9"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=0.75)
Chi-squared distribution Mean, Variance, Standard Deviation
chisqMean <- function(k) {
k
}
chisqVar <- function(k){
2*k
}
chisqSd <- function(k){
sqrt(2*k)
}
k <- 1
modelMean <- chisqMean(k)
realMean <- mean(rchisq(1000, k))
modelVar <- chisqVar(k)
realVar <- var(rchisq(1000, k))
modelSd <- chisqSd(k) #
realSd <- sd(rchisq(1000, k))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 1 ; Real mean: 0.9498187
## Modeled variance: 2 ; Real variance: 2.109575
## Modeled standard variation: 1.414214 ; Real standard variation: 1.413127
Exponential distribution PDF Chart
x <- seq(0, 5, length=200)
data1 <- dexp(x, 0.5)
data2 <- dexp(x, 1)
data3 <- dexp(x, 1.5)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(x, data1, ylim=c(0, 1.6), ylab="PDF", type="l", lwd=2, col="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, data2, col="blue", lwd="2")
lines(x, data3, col="green", lwd="2")
legend(3.5, 1.5, c(expression(paste(lambda, "=0.5")),
expression(paste(lambda, "=1.0")),
expression(paste(lambda, "=1.5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=.75)
Chi-squared distribution CDF Chart
pdata1 <- pexp(x, 0.5)
pdata2 <- pexp(x, 1)
pdata3 <- pexp(x, 1.5)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(x, pdata1, ylab="CDF", ylim=c(0, 1), type="l", lwd=2, col="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, pdata2, col="blue", lwd="2")
lines(x, pdata3, col="green", lwd="2")
legend(3.5, 0.4, c(expression(paste(lambda, "=0.5")),
expression(paste(lambda, "=1.0")),
expression(paste(lambda, "=1.5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=0.75)
Chi-squared distribution Mean, Variance, Standard Deviation
expMean <- function(lambda) {
1/lambda
}
expVar <- function(lambda){
1/lambda^2
}
expSd <- function(lambda){
1/lambda
}
lambda <- 1
modelMean <- expMean(lambda)
realMean <- mean(rexp(1000, lambda))
modelVar <- expVar(lambda)
realVar <- var(rexp(1000, lambda))
modelSd <- expSd(lambda) #
realSd <- sd(rexp(1000, lambda))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 1 ; Real mean: 1.038569
## Modeled variance: 1 ; Real variance: 0.9252989
## Modeled standard variation: 1 ; Real standard variation: 1.024291
Gamma distribution PDF Chart
x <- seq(0, 20, length=200)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
data1 <- dgamma(x, 1.0, 0.5)
data2 <- dgamma(x, 2.0, 0.5)
data3 <- dgamma(x, 3.0, 0.5)
data4 <- dgamma(x, 5.0, 1.0)
data5 <- dgamma(x, 9.0, 2)
plot(x, data1, ylim=c(0, 0.5), ylab="PDF", type="l", lwd=2,
col="red", yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, data2, col="blue", lwd="2")
lines(x, data3, col="green", lwd="2")
lines(x, data4, col="brown", lwd="2")
lines(x, data5, col="purple", lwd="2")
legend(15, 0.5, c(expression(paste(alpha, "=1, ", beta, "=0.5")),
expression(paste(alpha, "=2, ", beta, "=0.5")),
expression(paste(alpha, "=3, ", beta, "=0.5")),
expression(paste(alpha, "=5, ", beta, "=1")),
expression(paste(alpha, "=9, ", beta, "=0.2"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=.75)
Gammaa distribution CDF Chart
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
pdata1 <- pgamma(x, 1, 0.5)
pdata2 <- pgamma(x, 2, 0.5)
pdata3 <- pgamma(x, 3, 0.5)
pdata4 <- pgamma(x, 5, 1)
pdata5 <- pgamma(x, 9, 2)
plot(x, pdata1, ylab="CDF", ylim=c(0,1), type="l", lwd=2, col="red", yaxs="i",
xaxs="i", frame.plot=FALSE)
lines(x, pdata2, col="blue", lwd="2")
lines(x, pdata3, col="green", lwd="2")
lines(x, pdata4, col="brown", lwd="2")
lines(x, pdata5, col="purple", lwd="2")
legend(15, 0.5, c(expression(paste(alpha, "=1, ", beta, "=0.5")),
expression(paste(alpha, "=2, ", beta, "=0.5")),
expression(paste(alpha, "=3, ", beta, "=0.5")),
expression(paste(alpha, "=5, ", beta, "=1")),
expression(paste(alpha, "=9, ", beta, "=0.2"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"),
cex=0.75)
Gamma distribution Mean, Variance, Standard Deviation
gammaMean <- function(a, b) {
a/b
}
gammaVar <- function(a, b){
a/b^2
}
gammaSd <- function(a, b){
sqrt(a/b^2)
}
a <- 1; b <- 0.5
modelMean <- gammaMean(a, b)
realMean <- mean(rgamma(1000, a, b))
modelVar <- gammaVar(a, b)
realVar <- var(rgamma(1000, a, b))
modelSd <- gammaSd(a, b) #
realSd <- sd(rgamma(1000, a, b))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 2 ; Real mean: 1.896239
## Modeled variance: 4 ; Real variance: 4.570306
## Modeled standard variation: 2 ; Real standard variation: 1.847329
Geometric distribution PDF Chart
myGeom <- function(x, p) {
x <- seq(0, x, length=25)
y <- (1-p)^x*p
df <- data.frame(x, y)
colnames(df) <- c("x", "y")
return(df)
}
data1 <- myGeom(10, 0.2)
data2 <- myGeom(10, 0.5)
data3 <- myGeom(10, 0.8)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(data1, ylim=c(0, 1.0), xlim=c(0,10), ylab="PDF", type="n", yaxs="i",
xaxs="i", bty="n", frame.plot=FALSE)
points(data1$x, data1$y, col="red", pch=21, bg="red")
lines(data1$x, data1$y, col="red")
points(data2$x, data2$y, col="green", pch=21, bg="green")
lines(data2$x, data2$y, col="green")
points(data3$x, data3$y, col="blue", pch=21, bg="blue")
lines(data3$x, data3$y, col="blue")
legend(6, 1.0, c("k=10, p=0.2","k=10, p=0.5", "k=10, p=0.8"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Geometric distribution CDF Chart
pdata1 <- cumsum(data1$y); pdata1 <- pdata1/max(pdata1)
pdata2 <- cumsum(data2$y); pdata2 <- pdata2/max(pdata2)
pdata3 <- cumsum(data3$y); pdata3 <- pdata3/max(pdata3)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(seq(0, 10, length=25), pdata1, ylab="CDF", xlim=c(0, 10),
ylim=c(0.0, 1.1), lwd=2, col="red", pch=21, bg="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(seq(0,10, length=25), pdata1, col="red")
points(seq(0,10, length=25), pdata2, col="green", pch=21, bg="green")
lines(seq(0,10, length=25), pdata2, col="green")
points(seq(0,10, length=25), pdata3, col="blue", pch=21, bg="blue")
lines(seq(0,10, length=25), pdata3, col="blue")
legend(6, 0.4, c("k=10, p=0.2","k=10, p=0.5", "k=10, p=0.8"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Geometric distribution Mean, Variance, Standard Deviation
geomMean <- function(p) {
(1-p)/p
}
geomVar <- function(p){
(1-p)/p^2
}
geomSd <- function(p){
sqrt((1-p)/p^2)
}
p <- 0.2
modelMean <- geomMean(p)
realMean <- mean(rgeom(1000, p))
modelVar <- geomVar(p)
realVar <- var(rgeom(1000, p))
modelSd <- geomSd(p)
realSd <- sd(rgeom(1000, p))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ",
realSd)
## Modeled mean: 4 ; Real mean: 3.848
## Modeled variance: 20 ; Real variance: 21.52527
## Modeled standard variation: 4.472136 ; Real standard variation: 4.281752
Normal distribution PDF Chart
x <- seq(-5, 5, length=200)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
data1 <- dnorm(x, 0, sqrt(0.2))
data2 <- dnorm(x, 0, sqrt(1))
data3 <- dnorm(x, 0, sqrt(5))
data4 <- dnorm(x, -2, sqrt(0.5))
plot(x, data1, ylim=c(0, 1), xlim=c(-5,5), ylab="PDF", type="l", lwd=2,
col="red", yaxs="i", xaxs="i", frame.plot=FALSE)
lines(x, data2, col="blue", lwd="2")
lines(x, data3, col="green", lwd="2")
lines(x, data4, col="brown", lwd="2")
legend(2, 1, c(expression(paste(mu, "=0, ", sigma^2, "=0.2")),
expression(paste(mu, "=0, ", sigma^2, "=1")),
expression(paste(mu, "=0, ", sigma^2, "=5")),
expression(paste(mu, "=-2, ", sigma^2, "=0.5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"), cex=.75)
Normal distribution CDF Chart
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
pdata1 <- pnorm(x, 0, sqrt(0.2))
pdata2 <- pnorm(x, 0, sqrt(1))
pdata3 <- pnorm(x, 0, sqrt(5))
pdata4 <- pnorm(x, -2, sqrt(0.5))
plot(x, pdata1, ylab="CDF", ylim=c(0,1), xlim=c(-5,5), type="l", lwd=2, col="red", yaxs="i",
xaxs="i", frame.plot=FALSE)
lines(x, pdata2, col="blue", lwd="2")
lines(x, pdata3, col="green", lwd="2")
lines(x, pdata4, col="brown", lwd="2")
legend(2, 0.4, c(expression(paste(mu, "=0, ", sigma^2, "=0.2")),
expression(paste(mu, "=0, ", sigma^2, "=1")),
expression(paste(mu, "=0, ", sigma^2, "=5")),
expression(paste(mu, "=-2, ", sigma^2, "=0.5"))),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green',' brown', "purple"),
cex=0.75)
Normal distribution Mean, Variance, Standard Deviation
normalMean <- function(mu) {
mu
}
normalVar <- function(sigma){
sigma ^ 2
}
normalSd <- function(sigma){
sigma
}
mu <- 10; sigma <- 1
modelMean <- normalMean(mu)
realMean <- mean(rnorm(1000, mu, sigma))
modelVar <- normalVar(sigma)
realVar <- var(rnorm(1000, mu, sigma))
modelSd <- normalSd(sigma)
realSd <- sd(rnorm(1000, mu, sigma))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ", realSd)
## Modeled mean: 10 ; Real mean: 9.990457
## Modeled variance: 1 ; Real variance: 0.9818876
## Modeled standard variation: 1 ; Real standard variation: 1.031042
Piosson distribution PDF Chart
myPoisson <- function(k, lambda) {
x <- seq(0, k, length=k+1)
y <- lambda^x*exp(-lambda)/factorial(x)
df <- data.frame(x, y)
colnames(df) <- c("x", "y")
return(df)
}
data1 <- myPoisson(20, 1)
data2 <- myPoisson(20, 4)
data3 <- myPoisson(20, 10)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(data1, ylim=c(0, 0.4), xlim=c(0,20), ylab="PDF", type="n", yaxs="i",
xaxs="i", bty="n", frame.plot=FALSE)
points(data1$x, data1$y, col="red", pch=21, bg="red")
lines(data1$x, data1$y, col="red")
points(data2$x, data2$y, col="green", pch=21, bg="green")
lines(data2$x, data2$y, col="green")
points(data3$x, data3$y, col="blue", pch=21, bg="blue")
lines(data3$x, data3$y, col="blue")
legend(12, 0.4, c("k=20, lambda=1","k=20, lambda=4", "k=20, lambda=10"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Poisson distribution CDF Chart
pdata1 <- cumsum(data1$y); pdata1 <- pdata1/max(pdata1)
pdata2 <- cumsum(data2$y); pdata2 <- pdata2/max(pdata2)
pdata3 <- cumsum(data3$y); pdata3 <- pdata3/max(pdata3)
par(oma=c(1, 1, 1, 1))
par(mar=c(2, 4, 2, 8)+0.1)
plot(seq(0, 20, length=21), pdata1, ylab="CDF", xlim=c(0, 20),
ylim=c(0.0, 1.1), lwd=2, col="red", pch=21, bg="red",
yaxs="i", xaxs="i", frame.plot=FALSE)
lines(seq(0,20, length=21), pdata1, col="red")
points(seq(0,20, length=21), pdata2, col="green", pch=21, bg="green")
lines(seq(0,20, length=21), pdata2, col="green")
points(seq(0,20, length=21), pdata3, col="blue", pch=21, bg="blue")
lines(seq(0,20, length=21), pdata3, col="blue")
legend(12, 0.4, c("k=20, lambda=1","k=20, lambda=4", "k=20, lambda=10"),
x.intersp = 0.5, y.intersp = 1, bty="n",
lty=c(1, 1, 1, 1), col=c('red', 'blue', 'green'), cex=.75)
Poisson distribution Mean, Variance, Standard Deviation
poissonMean <- function(lambda) {
lambda
}
poissonVar <- function(lambda){
lambda
}
poissonSd <- function(lambda){
sqrt(lambda)
}
lambda <- 1
modelMean <- poissonMean(lambda)
realMean <- mean(rpois(1000, lambda))
modelVar <- poissonVar(lambda)
realVar <- var(rpois(1000, lambda))
modelSd <- poissonSd(lambda)
realSd <- sd(rpois(1000, lambda))
cat("Modeled mean: ", modelMean, "; Real mean: ", realMean, "\n")
cat("Modeled variance: ", modelVar, "; Real variance: ", realVar, "\n")
cat("Modeled standard variation: ", modelSd, "; Real standard variation: ",
realSd)
## Modeled mean: 1 ; Real mean: 0.939
## Modeled variance: 1 ; Real variance: 1.161417
## Modeled standard variation: 1 ; Real standard variation: 1.072775