4 votos

Estadística lineal para medir la asociación en el paquete R del partido

Hace tiempo hice una pregunta general sobre los árboles de inferencia condicional a través de party volver y he recibido una gran respuesta.

Estoy revisando este procedimiento y tratando de entender el estadístico lineal que se utiliza (Hothorn et al., Unbiased Recursive Partitioning: A Conditional Inference Framework, Research Report Series, 2004, página 4, ecuación (1) ).

enter image description here

No tengo nada claro cómo se calcula esta estadística. ¿Alguien puede ayudarme?

Esto es lo que me parece que si

  • $g(\cdot)$ y $h(\cdot)$ son las funciones de identidad
  • y existe un predictor $x$ y una respuesta $y$ ambos numéricos, la estadística es simplemente un escalar. Esto no es lo que se muestra, así que estoy equivocado :)

Ejemplo de datos:

x<-c(1,3,4,67,32,23,3,12,4)
y<-c(43,23,45,22,12,465,6,54,3)
w<-rep(1,9)

T<-0
for (i in 1:length(y))
{

  T<-T+(w[i]*x[i]*y[i])  

}
T #13523

I PIENSE el resultado debe ser un vector de longitud 81.

3voto

Psycho Bob Puntos 661

Quiero responder a mi propia pregunta para completarla. Parece que estaba leyendo los valores p y q incorrectamente y, de hecho, creo que mi ejemplo trivial es correcto: es decir, que T es igual a 13523.

Me topé con la viñeta de la moneda paquete y se enteró de que este paquete contiene la función independence_test que parece la misma que la idea de ctree . La función de moneda expone el vector de expectativas y la matriz de covarianzas mostrados anteriormente (Hothorn et al., Unbiased Recursive Partitioning: A Conditional Inference Framework, Research Report Series, 2004, página 4, ecuación (1)).

He aquí el código R utilizado para verificar el cálculo de 13523.

library(coin)
library(party)
library(Formula)

x<-c(1,3,4,67,32,23,3,12,4)
y<-c(43,23,45,22,12,465,6,54,3)
w<-rep(1,9)
num_test<-data.frame(cbind(x,y))

c<-independence_test(y~x, data = num_test,ytrafo = function(data) trafo(data, numeric_trafo = id_trafo), teststat="max")
show(c)

statistic(c,type = c("test")) #0.263028
expectation(c)
covariance(c)
variance(c)

T<-0
for (i in 1:length(y))
{

  T<-T+(w[i]*x[i]*y[i])  

}
T #13523

abs((T-expectation(c))/sqrt(variance(c))) #0.263028 matches above!

#now use ctree
xy_tree<-ctree(y~x, data = num_test, controls = ctree_control(teststat="max", mincriterion=0.001, minsplit=1))
nodes(xy_tree,1)[[1]][3] #statistic is #0.263028 matches above!

También he confirmado con un ejemplo utilizando un factor como variable independiente (con codificación ficticia).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X