######################################
Brownuv pohyb (Wieneruv proces), Brownuv most
######################################
library(sde)

Y=BM(x=0,t0=0,T=1,N=10000)
plot(Y)

Y=BBridge(x=0,y=0,t0=0,T=1,N=10000)
plot(Y)

#######################################
odhadnuty model x znamy model
#######################################
opak=10000
n=1000
zam1=0
zam2=0
zam3=0
T1=0
T2=0
T3=0

for (i in 1:opak){
x=rexp(n)
y=rexp(n)
l=1/mean(y)
l1=1/mean(x)
X=sort(x)

T1=sqrt(n)*max(abs(pexp(X)-(1:n)/n))
T3=sqrt(n)*max(abs(pexp(X,l)-(1:n)/n))
T2=sqrt(n)*max(abs(pexp(X,l1)-(1:n)/n))


if (T1>1.36) zam1=zam1+1
if (T2>1.36) zam2=zam2+1
if (T3>1.36) zam3=zam3+1
}

zam1/opak  # znamy model
zam2/opak  # odhadnuty model
zam3/opak  # nezavisly odhad

#######################################
odhadnuty model x znamy model
#######################################
opak=10000
n=1000
zam1=0
zam2=0

T1=0
T2=0

for (i in 1:opak){
x=rchisq(n,2)

l=1/mean(x)
X=sort(x)

T1=sqrt(n)*max(abs(pexp(X)-(1:n)/n))
T2=sqrt(n)*max(abs(pexp(X,l)-(1:n)/n))

if (T1>1.36) zam1=zam1+1
if (T2>1.36) zam2=zam2+1

}

zam1/opak
zam2/opak



curve(dchisq(x,df=3), 0,100)
curve(dexp(x,1), 0,100,col=2, add=T)


#####################################
chi^2 test dobre shody
######################################
opak=10000
n=1000
zam1=0
zam2=0

T1=0
T2=0

true=2

for (i in 1:opak){
X=rexp(n,true)

k=round(15*(n/100)^(2/5))
p=1/k

cc=0
for (i in 1:k){
cc[i]=qexp(i/k,true)
}
cc=c(0,cc)

YY=0
for (i in 1:k){
YY[i]=sum(X<cc[i+1])-sum(X<cc[i])
}

T1=sum((YY-n*p)^2/n/p)

l=1/mean(X)
cc=0
for (i in 1:k){
cc[i]=qexp(i/k,l)
}
cc=c(0,cc)

YY=0
for (i in 1:k){
YY[i]=sum(X<cc[i+1])-sum(X<cc[i])
}

T2=sum((YY-n*p)^2/n/p)


if (T1>qchisq(0.95,k-1)) zam1=zam1+1
if (T2>qchisq(0.95,k-2)) zam2=zam2+1

}



zam1/opak
zam2/opak














