Variables Categóricas

Codificación de categóricas: de (1 | A) a (B | A)

La notación y la justificación de (1 | A) está aquí, una vieja entrada que no estoy seguro de que no tenga que retocar para que no me gruña el ministerio de la verdad. Esta entrada lo es solo para anunciar que en uno de nuestros proyectos y a resultas de una idea de Luz Frías, vamos a implementar una versión mucho más parecida al lo que podría representar el término (B | A), que es, casi seguro, chorrocientasmil veces mejor.

Spike and slab: otro método para seleccionar variables

Me sorprende ver todavía a gente utilizar técnicas stepwise para la selección de variables en modelos. Sobre todo, existiendo herramientas como elastic net o lasso. Otra de las técnicas disponibles es la del spike and slab (de la que oí hablar, recuerdo, por primera vez en el artículo de Varian Big Data: New Tricks for Econometrics). Es una técnica de inspiración bayesiana en cuya versión más cruda se imponen sobre las variables del modelo de regresión prioris que son una mezcla de dos distribuciones:

Preprocesamiento de variables categóricas con muchos niveles

No sabía por qué tenía apartado A Preprocessing Scheme for High-Cardinality Categorical Attributes in Classification and Prediction Problems en mi disco duro para ulteriores revisiones hasta que, al abrirlo, he encontrado la fórmula que es una versión de mi favorita del mundo mundial (si te dedicas a la ciencia de datos, no la conoces y tienes principios, negocia a la baja tu sueldo: estás timando a alguien). Todo sumamente aprovechable y recomendable.

Sobre la peculiarísima implementación del modelo lineal en (pseudo-)scikit-learn

Si ejecutas import numpy as np from sklearn.linear_model import LinearRegression n = 1000 X = np.random.rand(n, 2) Y = np.dot(X, np.array([1, 2])) + 1 + np.random.randn(n) / 2 reg = LinearRegression().fit(X, Y) reg.intercept_ reg.coef_ se obtiene más o menos lo esperado. Pero si añades una columna linealmente dependiente, X = np.column_stack((X, 1 * X[:,1])) ocurren cosas de la más calamitosa especie: Y = np.dot(X, np.array([1, 2, 1])) + 1 + np.

Recodificación de variables categóricas de muchos niveles: ¡ayuda!

Una vez escribí al respecto. Y cuanto más lo repienso y lo reeleo, menos clara tengo mi interpretación. De hecho, estoy planteándome retractar esa entrada. Y reconozco que llevo tiempo buscando en ratos libres algún artículo serio (no extraído del recetario de algún script kiddie de Kaggle) que justifique el uso del procedimiento. Es decir, que lo eleve de técnica a categoría. Sin éxito. He hecho probaturas y experimentos mentales en casos extremos (p.

Lo que pasa cuando omites la priori con variables categóricas

R
Stan. Modelo multinivel. Variable categórica. Codificación con ceros y unos. Matriz. Coeficiente vector[n_ccaa] Cccaa. Sin priori. Catástrofe: (Coeficientes hasta 15000. Sin tasa, con tiempo. Los valores desorbitados, en ceros de la dummy). Priori. for (i in 1:n_ccaa) Cccaa[i] ~ cauchy(0, 20); ¿Por qué no? Tachán: (¿Para qué verbos?)