Pesos en regresión cuantil para encuesta compleja en R


8

Quiero incluir pesos de muestra en mi modelo de regresión cuantil, pero no estoy seguro de cómo hacerlo.

Ya he definido mi peso, que son los pesos replicados que ya figuran en el conjunto de datos de la encuesta (calculado en el paquete de la encuesta):

w<-svrepdesign(variables=data[,1:10],repweights=data[,11:30],type="BRR", 
  combined.weights=TRUE, weights=r.weights, rho=0.5,dbname="")

y mi modelo rq es:

rq(y~x,tau=c(.1,.2,.3,.4,.5,.6,.7,.8,.9),data=my.data))

Traté de usar la withReplicatesfunción, pero sin éxito. ¿Alguna sugerencia?


1
¿Que software estas usando? En Stata 13 puede agregar ponderaciones de encuestas a la regresión cuantil.
Maarten Buis

1
Asegúrese de que lo que está sopesando es algo que desea marginar, y tenga en cuenta que paga un alto precio de variación por hacerlo. Si la encuesta sobremuestreó hombres y desea desarrollar una estimación no específica del sexo, entonces la ponderación es para usted. Si, por otro lado, desea estimaciones condicionales, es decir, desea ajustar el sexo como una covariable ordinaria, entonces la ponderación puede ser contraproducente.
Frank Harrell

@FrankHarrell, si en su ejemplo los pesos son 3 para hombres y 10 para mujeres (con submuestreo), entonces las estimaciones dentro de cada grupo de género son tan buenas como iid, y sus errores estándar no sufren pesos desiguales: para hombres, tenemos donde la suma es solo para hombres. iwiyi/iwi=3iyi/i1=y¯
StasK

@Alicja, asegúrate de tener una justificación teórica para lo que estás a punto de hacer. Es decir, qué método de estimación de varianza le proporciona errores estándar consistentes para su método. Para los rqdatos de iid, los errores estándar implican una estimación de la densidad del núcleo de la densidad de errores en un punto cuantil elegido. Esto puede o no ser una cantidad significativa con datos de encuestas complejas. Como tal, rqse basa en ecuaciones de estimación no suaves que involucran funciones de salto, y la teoría BRR generalmente se establece solo para estadísticas suaves.
StasK

@StasK No creo que ese sea el cálculo relevante. Las estimaciones específicas de género (p. Ej., Condicionadas al género) son lo que son y no se necesita ni es apropiado ponderar. Si se quiere "des-sobremuestrear" un grupo de género, la estimación ponderada resultante (que no condiciona el género) tiene una precisión baja, lo que reduce efectivamente el tamaño de la muestra para el grupo sobremuestreado.
Frank Harrell

Respuestas:


3

No estoy seguro de que la respuesta @Metrics dé los errores estándar correctos para una llamada cuantreg ponderada por encuesta. Aquí hay un ejemplo de lo que estás tratando de hacer. Ciertamente está chocando con un error porque la qrfunción anidada dentro de la withReplicatesfunción en este punto no puede manejar múltiples tauparámetros a la vez (aunque la qrfunción por sí sola). solo llame uno a la vez, tal vez así :)

library(survey)
library(quantreg)

# load some fake data
data(scd)
repweights <-
    cbind(c(4,0,3,0,4,0), c(3,0,0,4,0,3),c(0,3,4,0,0,2),c(0,1,0,4,3,0))

# tack on the fake replicate weights
x <- cbind( scd , repweights )

# tack on some fake main weights
x[,9] <- c( 3 , 2 , 3 , 4 , 1 , 4 )

# name your weight columns
names( x )[ 5:9 ] <- c( paste0( 'rep' , 1:4 ) , "wgt" )

# create a replicate-weighted survey design object
scdrep <-
    svrepdesign(
        data = x ,
        type = "BRR" , 
        repweights = "rep" ,
        weights = ~wgt ,
        combined.weights = TRUE
    )

# loop through each desired value of `tau`
for ( i in seq( 0.1 , 0.9 , by = 0.1 ) ){

    print( i )

    # follow the call described here:
    # http://www.isr.umich.edu/src/smp/asda/Additional%20R%20Examples%20bootstrapping%20with%20quantile%20regression.pdf
    print( 
        withReplicates( 
            scdrep , 
            quote( 
                coef( 
                    rq( arrests ~ alive , tau = i , weights = .weights ) 
                ) 
            )
        )
    )

}

2

El uso de rqen el paquete quantreg

rq(formula, tau=.5, data, subset, weights, na.action,
method="br", model = TRUE, contrasts, ...)

donde, pesos = vector de pesos de observación; si se proporciona, el algoritmo se ajusta para minimizar la suma de los pesos multiplicados en los residuos absolutos. La longitud de los pesos debe ser la misma que la cantidad de observaciones. Los pesos no deben ser negativos y se recomienda encarecidamente que sean estrictamente positivos, ya que los pesos cero son ambiguos.

Asegúrese de tener cero pesos en sus observaciones.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.