Voy a explicar mi problema con un ejemplo. Supongamos que se desea predecir el ingreso de un individuo, dado que algunos atributos: {Edad, Género, País, Región, Ciudad}. Usted tiene un conjunto de datos de entrenamiento, como así
train <- data.frame(CountryID=c(1,1,1,1, 2,2,2,2, 3,3,3,3),
RegionID=c(1,1,1,2, 3,3,4,4, 5,5,5,5),
CityID=c(1,1,2,3, 4,5,6,6, 7,7,7,8),
Age=c(23,48,62,63, 25,41,45,19, 37,41,31,50),
Gender=factor(c("M","F","M","F", "M","F","M","F", "F","F","F","M")),
Income=c(31,42,71,65, 50,51,101,38, 47,50,55,23))
train
CountryID RegionID CityID Age Gender Income
1 1 1 1 23 M 31
2 1 1 1 48 F 42
3 1 1 2 62 M 71
4 1 2 3 63 F 65
5 2 3 4 25 M 50
6 2 3 5 41 F 51
7 2 4 6 45 M 101
8 2 4 6 19 F 38
9 3 5 7 37 F 47
10 3 5 7 41 F 50
11 3 5 7 31 F 55
12 3 5 8 50 M 23
Ahora supongamos que deseamos predecir el ingreso de una nueva persona que vive en la Ciudad 7. Mi conjunto de entrenamiento tiene la friolera de 3 muestras con la gente en la Ciudad 7 (se supone que esto es un montón), por lo que probablemente puede utilizar el promedio de los ingresos en la Ciudad de 7 a predecir el ingreso de este nuevo individuo.
Ahora supongamos que deseamos predecir el ingreso de una nueva persona que vive en la Ciudad 2. Mi conjunto de entrenamiento sólo tiene 1 muestra la Ciudad con 2 por lo que el ingreso promedio en la Ciudad 2 probablemente no es un predictor fiable. Pero yo probablemente puede utilizar el promedio de los ingresos en la Región 1.
Extrapolando esta idea un poco, puedo transformar mi conjunto de datos de entrenamiento como
Age Gender CountrySamples CountryIncome RegionSamples RegionIncome CitySamples CityIncome
1: 23 M 4 52.25 3 48.00 2 36.5000
2: 48 F 4 52.25 3 48.00 2 36.5000
3: 62 M 4 52.25 3 48.00 1 71.0000
4: 63 F 4 52.25 1 65.00 1 65.0000
5: 25 M 4 60.00 2 50.50 1 50.0000
6: 41 F 4 60.00 2 50.50 1 51.0000
7: 45 M 4 60.00 2 69.50 2 69.5000
8: 19 F 4 60.00 2 69.50 2 69.5000
9: 37 F 4 43.75 4 43.75 3 50.6667
10: 41 F 4 43.75 4 43.75 3 50.6667
11: 31 F 4 43.75 4 43.75 3 50.6667
12: 50 M 4 43.75 4 43.75 1 23.0000
Así, el objetivo es combinar de alguna manera el promedio de CityIncome, RegionIncome, y CountryIncome mientras que utilizando el número de muestras de formación para cada uno a dar un peso/credibilidad a cada valor. (Idealmente, incluyendo la información de la Edad y el Género.)
¿Qué son los consejos para resolver este tipo de problema? Yo prefiero usar el árbol basado en modelos como el bosque aleatorio o gradiente de impulsar, pero estoy teniendo problemas para conseguir estos para realizar el bien.
ACTUALIZACIÓN
Para cualquier persona dispuesta a tomar una puñalada en este problema, he generado datos de la muestra para probar la solución que usted propone aquí.