Diseño de experimentos con R

Autor: Julià Minguillón

Los textos e imágenes publicados en esta obra están sujetos (excepto que se indique lo contrario) a una licencia de Reconocimiento-Compartir igual (BY-SA) v.3.0 España de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla o comunicarla públicamente siempre que se cite el autor y la fuente (FUOC. Fundació per a la Universitat Oberta de Catalunya), y siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en: http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.es

1. Ciclo de vida

2. Tipología

4. Lenguaje de programación

Descripción

El diseño de experimentos y la recogida de los datos asociados son un elemento crítico de todo proyecto de ciencia de datos. Es muy conocida la expresión garbage in, garbage out. Por muy potentes que sean nuestros algoritmos, si los alimentamos con basura, los modelos construidos y sus predicciones o clasificaciones también serán basura. El diseño experimental tiene como objetivo asegurar la validez, la fiabilidad y la replicabilitat de los experimentos. Para hacerlo, es necesario establecer qué datos se recogerán, cómo, y qué interacciones entre las variables independientes habrá que tener en cuenta en el análisis para medir el impacto sobre la variable dependiente u objetivo.

El autor lleva a cabo un repaso de los packages de R más descargados para el diseño de experimentos a partir de la lista que ofrece el mismo repositorio de R (CRAN), que incluye más de ciento diez opciones. Analizando los descriptores de los paquetes disponibles, el autor llega a la conclusión de que la mayoría de paquetes se centran en ofrecer funcionalidades relacionadas con el diseño experimental, diseño optimal, y otros temas como por ejemplo el diseño factorial o el diseño por bloques. El autor analiza la red de dependencias entre paquetes para terminar observando que hay un par de paquetes muy importantes, DoE.base y AlgDesign (el más popular en cuanto a descargas), y también otro, DoE.wrapper, que incluye a los dos.

Enlace al recurso

https://emitanaka.org/posts/2021-02-03-current-state-of-experimental-design-r-packages/current-state-of-experimental-design-r-packages.html

Ejemplo de uso

Supongamos que tenemos una herramienta que ayuda a los estudiantes a practicar con ejercicios de programación, y queremos ver si ello tiene impacto o no en la nota final. Idealmente, cogeríamos a los estudiantes, los repartiríamos en dos grupos aleatoriamente, uno usaría la herramienta y el otro no, y entonces miraríamos las notas obtenidas en cada grupo para saber si hay alguna diferencia significativa con el test adecuado. Sin embargo, ¿y si no es posible repartir a los estudiantes aleatoriamente o queremos controlar también otras variables, como por ejemplo la edad, el género o su vía de acceso?

El diseño experimental nos ayuda a establecer las variables, los distintos valores a probar para cada variable (por ejemplo, por la edad podría ser jóvenes/adultos, o bien si usa la herramienta o no, etc.) y las interacciones entre las variables (las combinaciones posibles de interés), de manera que agrupamos a los estudiantes en grupos y aseguramos que todas las variables e interacciones están presentes, medimos el impacto de cada grupo y después utilizamos técnicas, como ANOVA, para establecer la importancia de cada variable independiente y así poder decir que es la herramienta y no la vía de acceso o la edad lo que hace que los estudiantes saquen más buenas notas, por ejemplo.

De esta manera, si tenemos dos valores para la edad, tres para el género (hombre, mujer, otros), cuatro para la vía de acceso y dos por si usa la herramienta o no, en total tenemos 2 x 3 x 4 x 2 = 48 grupos diferentes con todas las combinaciones, y cuatro variables (que denominamos A, B, C y D) que generan quince interacciones posibles (A, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, ACD, BCD, ABCD). Los packages de R mencionados nos ayudan a preparar los datos y el análisis posterior para averiguar cuál es la variable o las variables que realmente influyen en la nota final del estudiante.

Enlaces relacionados

Paquetes relacionados con el diseño de experimentos usando R: https://cran.r-project.org/web/views/ExperimentalDesign.html

Diseño experimental: https://www.statisticshowto.com/experimental-design/