D'abord, ptrunc
devrait être remplacé par rtrunc
. ptrunc
donne un vecteur de valeurs de probabilité. Mais par le documentation ofks.test
nous avons besoin d'un échantillon, et c'est ce que rtrunc
nous donne. Si l'argument a
de rtrunc
est réglé sur -Inf
, il n'y a pas troncature et le résultat avec a=-Inf
est en effet la même que a=7
:
library(truncdist)
myvalues <- c(37.5, 35.4, 27.1, 32.9, 35.9, 35.1, 34.1, 32.5, 35.5, 31.5, 38.2, 36.1,29.9, 30.1, 34.7, 38.7 ,32.3, 38.0, 34.9, 44.2, 35.8, 30.8, 39.3, 26.0, 34.2, 40.0, 36.1 ,41.5 ,32.8, 31.9, 41.3 ,30.5, 39.9, 35.0 ,31.2 ,35.0, 30.3, 29.0, 34.4, 35.7, 34.1, 35.4)
a <- 7
scale<-36.37516
shape <- 9.437013
set.seed(1)
y1 <- rtrunc(myvalues,"weibull",a=-Inf,scale=scale,shape=shape)
set.seed(1)
y2 <- rtrunc(myvalues,"weibull",a=a,scale=scale,shape=shape)
set.seed(1)
ks0 <- ks.test(myvalues, "pweibull",scale=scale,shape=shape )
set.seed(1)
ks1 <- ks.test(myvalues, y1)
set.seed(1)
ks2 <- ks.test(myvalues, y2)
.
> ks1
Two-sample Kolmogorov-Smirnov test
data: myvalues and y1
D = 0.21429, p-value = 0.2898
alternative hypothesis: two-sided
> ks2
Two-sample Kolmogorov-Smirnov test
data: myvalues and y2
D = 0.21429, p-value = 0.2898
alternative hypothesis: two-sided
Mais encore le résultat de ks.test(myvalues, "pweibull",scale=scale,shape=shape )
est différent:
> ks0
One-sample Kolmogorov-Smirnov test
data: myvalues
D = 0.15612, p-value = 0.2576
alternative hypothesis: two-sided
La raison est que myvalues
est trop petit. Si nous faisons plus dans l'appel de rtrunc
(non ks.test
), ks0
, ks1
et ks2
sont presque les mêmes:
library(truncdist)
myvalues <- c(37.5, 35.4, 27.1, 32.9, 35.9, 35.1, 34.1, 32.5, 35.5, 31.5, 38.2, 36.1,29.9, 30.1, 34.7, 38.7 ,32.3, 38.0, 34.9, 44.2, 35.8, 30.8, 39.3, 26.0, 34.2, 40.0, 36.1 ,41.5 ,32.8, 31.9, 41.3 ,30.5, 39.9, 35.0 ,31.2 ,35.0, 30.3, 29.0, 34.4, 35.7, 34.1, 35.4)
myManyValues <- c(outer((0:9999)/100000,myvalues,"+"))
a <- 7
scale<-36.37516
shape <- 9.437013
set.seed(1)
y1 <- rtrunc(myManyValues,"weibull",a=-Inf,scale=scale,shape=shape)
set.seed(1)
y2 <- rtrunc(myManyValues,"weibull",a=a,scale=scale,shape=shape)
set.seed(1)
ks0 <- ks.test(myvalues, "pweibull",scale=scale,shape=shape )
set.seed(1)
ks1 <- ks.test(myvalues, y1)
set.seed(1)
ks2 <- ks.test(myvalues, y2)
.
> ks0
One-sample Kolmogorov-Smirnov test
data: myvalues
D = 0.15612, p-value = 0.2576
alternative hypothesis: two-sided
> ks1
Two-sample Kolmogorov-Smirnov test
data: myvalues and y1
D = 0.15655, p-value = 0.2548
alternative hypothesis: two-sided
> ks2
Two-sample Kolmogorov-Smirnov test
data: myvalues and y2
D = 0.15655, p-value = 0.2548
alternative hypothesis: two-sided
Maintenant, nous allons voir ce qui se passe quand nous faisons tronquer la distribution:
library(truncdist)
myvalues <- c(37.5, 35.4, 27.1, 32.9, 35.9, 35.1, 34.1, 32.5, 35.5, 31.5, 38.2, 36.1,29.9, 30.1, 34.7, 38.7 ,32.3, 38.0, 34.9, 44.2, 35.8, 30.8, 39.3, 26.0, 34.2, 40.0, 36.1 ,41.5 ,32.8, 31.9, 41.3 ,30.5, 39.9, 35.0 ,31.2 ,35.0, 30.3, 29.0, 34.4, 35.7, 34.1, 35.4)
myManyValues <- c(outer((0:9999)/100000,myvalues,"+"))
a <- 29
scale<-36.37516
shape <- 9.437013
set.seed(1)
y1 <- rtrunc(myManyValues,"weibull",a=-Inf,scale=scale,shape=shape)
set.seed(1)
y2 <- rtrunc(myManyValues,"weibull",a=a,scale=scale,shape=shape)
set.seed(1)
ks0 <- ks.test(myvalues, "pweibull",scale=scale,shape=shape )
set.seed(1)
ks1 <- ks.test(myvalues, y1)
set.seed(1)
ks2 <- ks.test(myvalues, y2)
.
> ks0
One-sample Kolmogorov-Smirnov test
data: myvalues
D = 0.15612, p-value = 0.2576
alternative hypothesis: two-sided
> ks1
Two-sample Kolmogorov-Smirnov test
data: myvalues and y1
D = 0.15655, p-value = 0.2548
alternative hypothesis: two-sided
> ks2
Two-sample Kolmogorov-Smirnov test
data: myvalues and y2
D = 0.2059, p-value = 0.05683
alternative hypothesis: two-sided
Pourriez-vous nous donner un exemple pour 'myvalues'? – mra68
myvalues <-c (37,5, 35,4, 27,1, 32,9, 35,9, 35,1, 34,1, 32,5, 35,5, 31,5, 38.2, 36.1, 29.9, 30.1, 34.7, 38.7, 32.3, 38.0, 34.9, 44.2, 35.8, 30.8, 39.3, 26.0, 34.2, 40.0, 36.1, 41.5, 32.8, 31.9, 41.3, 30.5, 39.9, 35.0, 31.2 35,0, 30,3, 29,0, 34,4, 35,7, 34,1, 35,4); a <-7; échelle <-36,37516; forme <-9,437013; donc je sais, que dans ce cas il n'est pas nécessaire de faire la troncation leftside. mais dans d'autres c'est! – paule
@paule: Vous ne devez pas utiliser de commentaires pour clarifier le contenu qui devrait figurer dans le corps de la question. Vous devriez également utiliser votre touche majuscule. Nous attendre à faire face à votre négligence est juste injuste. –