UNIVERSIDAD NACIONAL DE LANUS
LICENCIATURA EN SISTEMAS
Ingeniería de Software Empírica
Prof. Adj.: Ing. Hernán Amatriain
DISEÑO DE EXPERIMENTOS EN INGENIERÍA DE SOFTWARE
MATERIAL COMPILADO POR EL ING. HERNÁN AMATRIAIN
1. DISEÑO EXPERIMENTAL
En la guía de estudio “Experimentación en IS” se presentaron
conceptos estadísticos sobre test de hipótesis, y como interpretar los
resultados obtenidos. Sin embargo no se trato uno de las principales
herramientas en la ISE, que es el test de hipótesis para comparación
de dos medias (de mucho interés en IS ya que comparamos una
técnica o método experimental con otro de control).
En esta guía se verán diversos conceptos para realizar un diseño
experimental correcto, y la herramienta estadística para desarrollar
un test de hipótesis para comparación de dos medias.
Se comenzará con algunas definiciones.
Se define el Diseño Experimental como: “El conjunto de
procedimientos que se utilizan para generar datos numéricos de un
fenómeno, a fin de obtener la máxima información al mínimo costo”.
Al ejecutar mediciones repetidas de un fenómeno, se espera que las
causas circunstanciales (aleatorias) se compensen, y sea posible
hallar un valor más real del fenómeno como un promedio (media
aritmética) de las observaciones obtenidas. La replicación es el
primer principio del Diseño Experimental: “Para un fenómeno
natural sobre cuyos resultados numéricos no se tiene ninguna
información previa, sólo es posible realizar inferencias válidas
efectuando réplicas u observaciones repetidas del
experimento que genera tales resultados”.
La aleatorización es el segundo principio del Diseño Experimental:
“Las conclusiones que se deducen de un conjunto de datos
numéricos de un fenómeno sólo puede tener validez si estos
datos han sido obtenidos aleatoriamente”.
Se define unidad experimental como el ente sobre el que se realiza
una observación.
El agrupamiento de unidades experimentales en bloques homogéneos
se denomina control local y es el tercer principio del Diseño
Experimental: “Si las unidades experimentales son
heterogéneas, se ganará eficiencia en el diseño agrupándolas
en bloques homogéneos y efectuando, dentro de cada bloque,
una selección aleatoria”.
En las siguientes secciones se desarrollarán aún más estos conceptos,
para finalizar con los conceptos estadísticos de un test de hipótesis
para la comparación de dos medias, que es el caso de mayor interés
en IS para poder comparar dos técnicas o métodos.
2. EXPERIMENTACIÓN
2.1. NIVELES DE RESPONSABILIDAD
Durante el proceso de experimentación se pueden encontrar tres
niveles de responsabilidad de acuerdo a la consecuencia de utilizar
una innovación. De esta forma se puede contar con información
histórica para predecir los posibles resultados futuros objetivamente
sin necesidad de realizar suposiciones. Los tres niveles son:
1- Experimentos de laboratorio, se realizan en laboratorios bajo
condiciones rigurosamente controladas para simular los factores
de la realidad que se desean estudiar. Una vez debidamente
publicados los resultados, es necesario que estos puedan
replicarse por otros investigadores en las mismas condiciones.
2- Cuasi-Experimentos o Casos de Estudio, consisten en proyectos
reales, denominados casos de estudios. En estos se trabaja con
varias condiciones controladas similares a las del laboratorio. Son
realizadas por desarrolladores que están dispuestos a correr
riesgos de utilizar nuevas innovaciones y que luego reportan los
resultados obtenidos, con recomendaciones, mejores y críticas.
3- Encuestas, consisten en proyectos reales de importancia donde
son se utilizan la innovación por las ventajas que brinda y por
contar ya con bajo nivel de riesgo. En este nivel las condiciones
son poco controladas por lo que es recomendable que los
desarrolladores luego publiquen el comportamiento de la
innovación que tuvo en su proyecto.
Puede verse que en el primer nivele se está trabajando en forma más
teórica, con experimentos donde se deben controlar todas las
variables relacionadas. Mientras que en los otros niveles se trabaja ya
en la realidad en proyectos reales con diferente importancia. El resto
de este trabajo se encuentra orientado principalmente al primer tipo
de experimentos, debido a que se desea explicar de que manera se
realiza este proceso.
2.2. CICLO GENERAL
El ciclo para realizar experimentos puede verse en la figura 1.
Figura 1
A continuación se explica cada uno de los procesos:
1- Especulación, como se menciono, se utiliza principalmente la
abducción para generar las hipótesis, modelos y/o conjeturas que
se desea probar a partir de la información percibida de la realidad.
2- Generar Objetivo, proceso por el que se generan el/los objetivos
del experimento que se desea realizar para probar sobre las
hipótesis.
3- Diseñar Experimento, se define el experimento para poseer más
control y así reducir los posibles errores. Esta tarea debe realizarse
con sumo cuidado debido a que influye directamente sobre los
resultados, y en caso de realizarlo incorrectamente, el análisis no
lo podrá solucionar. Se genera el plan del experimento, o sea, la
definición de que variables, sus valores y condiciones que pueden
afectar el experimento, así como la cantidad de repeticiones es
necesario realizar. El experimentador debe tratar aquí de obtener
la mayor cantidad de conocimiento utilizando la menor cantidad de
experimentos (recursos) dentro del límite máximo de error.
4- Ejecutar Experimento, se ejecuta el experimento a partir de las
condiciones definidas en el diseño, obteniendo así los resultados.
5- Analizar Experimento, se revisan los datos generados por el
experimentos y estos son comparados con las hipótesis que se
desean probar. A partir de los resultados, se trata de encontrar las
relaciones más importantes a partir de la “prueba de significancia”.
Del análisis se generan conclusiones que servirán como nuevas
hipótesis para comenzar el ciclo nuevamente.
El problema principal de la experimentación es que al comienzo, al
diseñar el experimento, el experimentador no conoce las relaciones
más importantes entre las variables para ser consideradas. Es luego
de haber ejecutado que puede determinarlo con más facilidad. Esto
es común en la IS, debido a que no existen teorías o modelos en que
basarse para determinar las variables que se necesitan analizar. Esto
puede generar un desaliento del investigador, pero debe tenerse en
cuenta que se aprende con la experiencia y la realización de muchos
casos varias veces. Por lo tanto, se recomienda como regla general
que no debe utilizarse más del 25% del esfuerzo (presupuesto) en la
primera ronda de experimentos en la mayoría de los casos. De esta
manera, a partir de estos primeros experimentos, el experimentador
se encontrará en condiciones de diseñar el resto con mayor
conocimientos sobre las variables y su influencia sobre otras. Esto
puede generar algunas de estas tres acciones:
- Agregar y/o eliminar variables que pueden influir sobre una
tercera.
- Cambiar la región del experimentos, o sea agregar o cambiar
los valores que pueden tener las variables que se estudian.
- Cambiar el objetivo del experimento (en caso de encontrar uno
más importante).
Además, debe tenerse en cuenta que para realizar la experimentación
correctamente es importante que un investigador posea mucho
conocimiento sobre el área de estudio en la que está
experimentando. De esta forma puede diseñar y analizar los
experimentos de la mejor manera posible, y sacar las mejores
conclusiones. A pesar de que posea mucha experiencia en
experimentación y poco sobre el área, no podrá obtener buenas
conclusiones, porque puede saber que alternativas o factores
importantes se deben considerar que pueden afectar los resultados
en forma crucial. Sin embargo, esto tampoco quiere decir que
cualquiera puede desarrollar experimentos. Es recomendable que
también conozca sobre la el proceso de experimentación para guiarlo
tanto en su diseño como el análisis de los resultados.
2.3. DISEÑO EXPERIMENTAL: EL ROL DE LA ESTADÍSTICA
Los principales problemas de la experimentación son:
- Descubrir y entender las relaciones complejas entre las
variables.
- Lograr el objetivo planteado aún cuando se sabe que los datos
tienen error.
Sir Ronald Fisher demostró que los métodos estadísticos son útiles
para resolver estos problemas, por lo que desde entonces son
utilizados tanto para el diseño como análisis de los experimentos.
Las tres fuentes principales de dificultad son:
1- Error de experimentación, también conocido como ruido, que es
causado por factores distorcionales y, en ciertos casos por
problema al realizar la medición.
2- Confusión entre correlación y causalidad, que se produce cuando
se confunde la influencia entre variables, provocando así que se
piense que dos variables son dependientes entre sí, cuando en
realidad dependen de una tercera que no se toma en cuenta.
3- Complejidad de combinaciones entre varias variables y una
tercera, sucede cuando dos o más variables afectan a una tercera
de distinta manera, dependiendo de los valores que toma cada
una. Entonces no existe una fórmula lineal y directa que prediga
los resultados.
Estas problemas pueden ser solucionados con la estadística de la
siguiente manera:
1- El error de experimentación puede ser reducido por un diseño y
análisis apropiado de los experimentos. Al utilizar un análisis
estadístico que provea de formas para medir la precisión de las
cantidad bajo estudio y juzgar cuando hay fuerte evidencia
empírica para atribuir diferencias observadas a ciertas razones.
2- La confusión de correlación y causalidad puede ser solucionado
utilizando los principios del diseño experimental y
“randomnisation”, para generar datos de mayor calidad e inferir
las relaciones causales verdaderas.
3- La complejidad de combinaciones puede ser solucionado también a
través del diseño experimental que genera datos de manera que
se pueda observar los efectos no lineales y estudiados con el
menor error posible.
2.4. ELEMENTOS
A continuación se definen los elementos que se utilizan comúnmente
en la terminología de la experimentación:
- Unidad de experimentación (experimental unit): consiste en los
objetos en los cuales el experimento es realizado. En el caso de
la IS, dependiendo del objetivo, las unidades de
experimentación serán el proyecto como un todo, o alguno de
los productos intermedios generados por el proceso.
- Sujetos de experimentación (experimental subjects): consiste
en las personas que aplican los métodos o técnicas a las
unidades de experimentación. En la IS, el factor humano, a
diferencia de otras disciplinas, tiene un efecto importante sobre
los resultados del experimento y es una variable que debe ser
tenida en cuenta con mucho cuidado durante el diseño del
experimento. En caso de no estar estudiando su influencia,
existen varios tipos de diseños que permiten cancelar (o al
menos reducir) el impacto de este factor en los experimentos.
- Variables de respuesta o variable dependiente (response
variable): consiste en las salidas de un experimento. En el caso
de la IS, la variable de respuesta va a ser la característica del
proyecto, fase, producto o recurso medida para probar el efecto
que provoca las variaciones de las variables en los
experimentos. Cada valor de una variable de respuesta en un
experimento es denominado observación y el análisis de todas
las observaciones serán utilizadas para decidir si la hipótesis
siendo estudiada puede ser validada o no.
- Parámetros (parameters): consiste en toda característica de un
proyecto software que no varían durante todos los
experimentos. Por lo tanto, son características que no influyen,
o que no se desea que influyan sobre los resultados del
experimento. En IS los parámetros pueden ser definidos por
similitud y no por identidad (debido a que no es posible utilizar
exactamente los mismos elementos y en las mismas
condiciones). Por lo tanto, los resultados de la experimentación
son particulares a las condiciones definidas por los parámetros,
que podrá ser generalizados si se consideran estos parámetros
como variables en experimentos sucesivos y estudiando su
impacto en las variables de respuesta.
- Variaciones provocadas, variables independientes o factores
(provocked variations, independent variables o factors):
consiste en cada una de las características que son estudiadas y
afectan la variable de respuesta. Cada factor posee varias
alternativas posibles. La experimentación intenta examinar la
influencia de estas alternativas en los valores que genera en las
variables de respuesta. También son conocidos con el nombre
de predicadores (predictors), debido a que son las
características del experimento usadas para predecir que pasará
con las variables de respuesta.
- Alternativas o niveles (Alternatives o levels): consiste en los
posibles valores de los factores usados. Esto significa que cada
nivel de un factor es una alternativa de ese factor. El término
tratamiento (treatment) también es usado comúnmente para
este concepto de alternativas de un factor en el diseño de
experimentos. Sin embargo, en IS es preferible utilizar el
término alternativa para referirse a los posibles valores de un
factor, debido a que expresa mejor su significado.
- Experimento elemental o unitario (Elementary experiment o
unitary experiment): consiste en cada experimento ejecutado.
Es decir cada aplicación de una combinación de alternativas de
los factores por un sujeto experimental en una unidad
experimental.
2.5. OTROS TÉRMINOS
Otros términos utilizados en experimentación son:
- Interacción (Interactions): dos factores se dicen que
interactuan si el efecto de uno depende en el valor del otro. Las
interacciones entre factores usadas en los experimentos deben
ser estudiadas, debido a su influencia en las variables de salida.
- Variaciones no deseadas o variables bloqueadas (undesired
variations o blocking variables): a pesar que las características
que no se desean estudiar, se las quiere dejar como constantes
en todos los experimentos, esto no es siempre posible. Existen
variaciones no deseadas que son inevitables que sucedan entre
un experimento y otro. Por lo tanto existe un conjunto especial
de diseño de experimentos, conocido como “diseño bloqueante”
(block design), que se ocupan de manejar este tipo de
variaciones.
- Repetición interna (internal replication): reproducción de uno o
más de los experimentos elementales por los mismos
investigadores. De esta forma se trata de aumentar la seguridad
de los resultados y reducir el error producido por las variaciones
no deseadas. La cantidad de repeticiones que se deben realizar
en cada experimento deben ser identificadas durante el proceso
de diseño. Ciertos conceptos estadísticos y el conocimiento de
ciertas características de la población deben ser aplicados para
calcular la cantidad requerida de experimentos.
- Repetición externa (external replication): reproducción del
experimento realizado por investigadores independientes para
tratar de obtener los mismos resultados. De hacerlo, se
incrementa la confianza de la hipótesis del estudio original.
Pueden ser de tres tipos, las que no alteran la hipótesis general
(pudiendo alterar o no la manera en que se realiza el
experimento), las que alteran las hipótesis (o sea, el nivel de las
especificaciones del problema o los factores bajo estudio) y las
que reformulan los objetivos y por ello las hipótesis del
experimento.
- Error de experimentación (Experimental Error): aún si un
experimento es repetido rigurosamente bajo las mismas
condiciones, los resultados observados nunca serán
completamente idénticos. Las diferencias que ocurren de una
repetición a otra son denominados ruido, error de
experimentación o simplemente error. El término error aquí se
refieren a las variaciones inevitables que no significan un error
técnico de los investigadores en la realización del experimento.
La principal causa de error son las variaciones no consideradas.
Éstas deben ser estudiadas para aprender sobre las variables
influyentes en las variables de respuesta. Nótese que si una
fuente desconocida es encontrada, los resultados de los
experimentos serán invalidados por lo que deberán ser repetidos
considerando esta nueva fuente. Por lo tanto, un conocimiento
elemental del error experimental y la teoría de probabilidad
asociada es esencial para poder realizar el diseño y análisis de
experimentos.
3. PROYECTO SOFTWARE COMO UN EXPERIMENTO
3.1. INTRODUCCIÓN
El objetivo de ejecutar experimentos en IS es mejorar el desarrollo
de sistemas software. Los elementos básicos que se deben considerar
un proyecto software son: las personas (desarrolladores, usuarios y
otros), los productos (sistema software y todos los productos
intermedios), el problema (la necesidad generada por el usuario al
comienzo del proyecto) y el proceso propiamente dicho (las
actividades y métodos que implementan el proyecto desde el
comienzo al final). Es evidente que un proyecto sw depende en
muchos factores, por lo que cada uno debe ser aislado del resto para
poder identificar la real influencia de cada uno.
3.2. UNIDAD DE EXPERIMENTACIÓN
En IS las unidades de experimentación pueden ser el proceso como
un todo, alguna de sus actividades o los productos generados. La
misma variable puede poseer diferentes roles (como factor,
parámetro o variable de salida, por ejemplo) dependiendo en como
se defina la unidad de experimentación. Por ejemplo, si se quiere
determinar la tamaño de código para implementar un algoritmo con
diferentes lenguajes de programación, entonces el algoritmo es la
unidad de experimentación y el tamaño del código la variable de
respuesta. Sin embargo, si se realiza otro experimento para comparar
cual de dos técnicas de prueba son mejores, en este caso la unidad
de experimentación será la pieza de código sobre la que se aplicarán
las técnicas y su tamaño un parámetro, o factor, dependiendo si es
constante o no.
3.3. FUENTES DE VARIACIÓN
El origen de las variables de un experimento en IS pueden ser
distintas, por lo que sus fuentes pueden diferir. Por lo tanto, es de
interés estudiar las fuentes de variación que afectan un proyecto de
desarrollo para poder identificar los posibles parámetros, factores y
variables de respuesta. Se recomiendan dos perspectivas diferentes
para entender el proyecto:
- Perspectiva Externa: donde el proyecto es visto como una caja
negra y se puede examinar sólo las variables que lo afectan
desde el exterior. Estas variables no pueden ser modificadas o
ajustadas desde dentro, por lo que son predefinido y se
comportarán como parámetros en los experimentos. Las
principales fuentes externas son las características del usuario,
del problema, las fuentes de información y características de la
organización y del cliente, tal como se ve en la Figura 2.
Figura 2
- Perspectiva Interna: donde el proyecto se ve como una caja
blanca y se pueden examinar sólo las variables que lo afectan
desde el interior. Estas variables son definidas al comienzo o
durante el proyecto. Dependiendo del objetivo del experimento,
pueden ser seleccionadas como parámetros, factores o variables
de salida. Las fuentes internas son los procesos o actividades,
los métodos, herramientas, el personal de desarrollo y los
productos. Una perspectiva interna de un proyecto se puede
ver en la Figura 3.
Figura 3
Una vez identificadas las posibles fuentes de variación es posible
determinar las variables que deben ser tenidas en cuenta en los
experimentos (como parámetros, factores o respuesta).
3.4. EL FACTOR HUMANO
Entre los principales factores de variación el principales la ingeniería
en software es el “factor humano” o “aspecto social”. A diferencia del
resto de las ingenierías, los experimentos no sólo se encuentran
influidos por las leyes de la naturaleza (como sucede en la química o
la física), sino que también por los sujetos sobre los que se realiza el
experimento.
En la física los experimentos son siempre determinísticos. Por
ejemplo para medir la distancia recorrida en cierto tiempo por un
objeto, puede ser fácilmente conocida (y reproducida fácilmente) si
se conoce su velocidad inicial y su aceleración.
En cambio, si por ejemplo, se utiliza un grupo de personas para
probar cual es la mejor de dos técnicas para encontrar errores en un
programa, si hay diferencias en cuanto a la experiencia en el trabajo
en las técnicas se obtendrán resultados muy diferentes. Otro
problema similar puede suceder si se utiliza varias veces una
persona para repetir un experimento con diferentes datos, luego de
realizarlo varias veces, puede llegar a aprender sobre la técnica o el
tipo de problema en estudio afectando los resultados del
experimento.
En otras disciplinas como la sociología y la psicología, sucede lo
mismo, dado que estos factores no determínisticos hacen más
complejos la experimentación. Existen varias técnicas que pueden
aplicarse, y que deben ser tenidas en cuenta durante el diseño del
experimento, para reducir los posibles errores generados.
Además debe tenerse presente que esto influye en la reproducción de
los experimentos. Por lo que no será siempre posible encontrar
exactamente los mismos resultados, sino resultados similares
generados a partir de condiciones similares. Aquí debe jugar un papel
importante el diseño de los experimentos para organizarlos de
manera que minimicen y traten de eliminar el impacto de las
variaciones no controladas, y así poder arribar a las mismas
conclusiones.
3.5. PARÁMETROS Y FACTORES
La selección de los factores y parámetros depende siempre del
objetivo del experimento. Por lo que no son únicos y pueden diferir
entre experimentos. La elección también depende de las condiciones
y las posibles restricciones (tiempo, sujeto, condiciones de desarrollo,
etc.) que debe cumplir el experimento.
Por ejemplo, si se quiere estudiar el efecto de diferentes técnicas de
pruebas en la efectividad del proceso de prueba, los factores a
considerarse serán la técnica de prueba (lectura de código, funcional
o estructurado), el tipo de programa y el nivel de experiencia del
sujeto (avanzado, intermedio o junior). Los parámetros para este
ejemplo son el proceso de prueba (primero entrenamiento, luego tres
sesiones de prueba y una sesión de seguimiento), el tamaño del
código a probar, el nivel de familiaridad de los sujetos con los
programas q puede utilizar y el lenguaje utilizado para implementar
los programas.
Si se estudia la calidad de código producido utilizando un lenguaje
funcional y uno orientado a objetos, los factores son el lenguaje de
programación a utilizar (SML o C++) y los parámetros el dominio del
problema (análisis de imágenes), el proceso de desarrollo a usar y la
experiencia de los sujetos en los lenguajes.
3.6. VARIABLES DE RESPUESTA
Las variables de respuesta reflejan los datos que son obtenidos de los
experimentos por lo que pueden ser medidos a posteriori, luego de
realizado el experimento. Las variables de respuesta dependen
principalmente en el objetivo y las hipótesis del experimento en
cuestión. Éstas a su vez pueden medir características de diferentes
aspectos del proyecto, como por ejemplo:
- para el proceso de desarrollo se pueden identificar como
variables las desviaciones en la planificación o en el
presupuesto.
- para los métodos se pueden identificar las variables de
eficiencia, usabilidad y adaptabilidad.
- para los recursos se puede identificar la productividad.
- para los productos se identifican la seguridad, la portabilidad, la
usabilidad, la facilidad de mantenimiento, la corrección y
cobertura del diseño.
A su vez, las variables de respuesta están muy relacionadas con el
concepto de métrica utilizado en el desarrollo de software para
evaluar los atributos (internos o externos) de los productos, procesos
o recursos. Por ejemplo, la métrica para medir el atributo tamaño de
la especificación del producto puede ser cantidad de clases o de
procesos atómicos, mientras que la métrica para medir el tamaño del
diseño del producto puede ser la cantidad de módulos utilizados para
definirlo.
Por ejemplo, si se quiere estudiar el efecto de diferentes técnicas de
pruebas en la efectividad del proceso de prueba, las variables de
respuesta pueden ser la cantidad de fallos detectado, el porcentaje de
fallos detectados, el tiempo total de detección de fallos y el
porcentaje de fallos detectados.
Estudiar la calidad de lenguaje funcional y uno orientado a objetos en
el código generado, las variables de respuesta pueden ser la
cantidad de líneas no comentadas ni en blanco, la cantidad de
funciones distintas llamadas, cantidad de funciones especificas del
dominio llamadas y profundidad de los llamados de funciones en
gráficos de jerarquía.
La identificación de las variables de respuesta en un experimento es
una tarea esencial para que tenga significado. El método propuesto
denominado Goal-Question-Metruc (GQM) consiste en una vez
definido el objetivo del experimento generar un conjunto de
preguntas cuya respuesta ayudarán a determinar el objetivo
propuesto. Finalmente, se analiza cada pregunta para determinar qué
métricas (o variable de salida) son necesarias para responder la
pregunta.
Por ejemplo, si se posee como objetivo conocer la efectividad de un
método para revelar fallas, se planten las preguntas “Qué porcentaje
de posibles fallos encontró y revelo cada sujeto?” y “Qué efecto tuvo
la experiencia de cada sujeto con el lenguaje o la motivación por el
experimento, en el porcentaje de posibles fallos que encontró y
relevo?”. Para la primer pregunta, alcanza con las variables de salida
“Cantidad de fallos posibles diferentes” y “Cantidad de fallos
encontrados por sujeto”, mientras que para la segunda además de
estas dos se agregan las variables de respuesta “Experiencia del
sujeto en el lenguaje (en escala de 0 a 5)”, “Experiencia del sujeto en
el lenguaje (en años)” y “Experiencia del sujeto con la técnica de
prueba”.
4. DISEÑO DE EXPERIMENTOS
4.1. INTRODUCCIÓN
El diseño de los experimentos tiene el objetivo de decidir que
variables van a ser examinadas y que valores son tenidos en cuenta,
así como también que datos serán recolectados, cuantas
experimentos se realizaran y cuantas veces serán repetidos. Por lo
tanto es una actividad crítica en la experimentación. Si un
experimento está mal diseñado los resultados que se obtendrán no
tendrán sentido a pesar de que se realice el mejor análisis.
Es importante mencionar que el diseño del experimento es la fase
que mejor distingue un experimento de una observación o encuesta.
Como se menciono anteriormente, una observación no modifica el
mundo solamente se ocupa de “ver” y recolectar información. En
cambio, en un experimento se “prepara” el mundo real antes de
observarlo. De esta manera se maneja condiciones controladas de la
realidad, contra las no controladas de la observación.
4.2. PASOS
Durante el diseño, lo primero que hay que decidir (en base a los
objetivos planteados) es que factores y alternativas deben ser tenidas
en cuenta y cuales serán los parámetros del experimento. Luego se
examina si alguno de los parámetros no puede ser establecido como
constante por poseer variaciones no deseadas. Finalmente se
seleccionan las variables de respuesta a ser medidas y que objetos y
sujetos serán utilizados.
A continuación se detallan estos pasos:
- Paso 1: Identificar, a partir del objetivo, los factores, o sea, los
métodos, técnicas o herramientas que serán estudiadas. Tanto
estos como sus alternativas deben ser especificadas
explícitamente.
- Paso 2: Identificar las variables de salida, o sea, las
características del proceso o producto en que los factores
influyen. También se deben especificar que métrica se utiliza
para cada una.
- Paso 3: Identificar los parámetros, o sea las variables que
pueden afectar las variables de salida pero pueden ser
controladas. Utilizando un valor constantes para todos los
experimentos, si es posible, o como variables bloqueantes, en
caso contrario.
- Paso 4: Identificar las variables bloqueantes, o sea las variables
que afectan las variables de salida pero no pueden ser
controladas.
- Paso 5: Determinar la cantidad de repeticiones que es necesario
hacer para cada experimento elemental utilizando estadística.
- Paso 6: Seleccionar el tipo de diseño de experimento que mejor
corresponda según sus características.
- Paso 7: Seleccionar los objetos de experimentación, o sea,
dependiendo del objetivo si se considera el proyecto como un
todo o sólo partes, para servir de unidades de experimentación.
- Paso 8: Seleccionar los sujetos de experimentación, o sea la
gente que va a ejecutar los experimentos. Se debe tratar de
obtener un conjunto homogéneo de personas si es posible. Sino
es posible considerar a éstos como variables bloqueantes.
- Paso 9: Identificar los procedimientos para recolectar los datos,
o sea, el valor resultante en las variables de respuesta.
4.3. RANDOMISATION
Por este término se denomina en diseño de experimentos al proceso
por el cual las alternativas de los factores son asignados a las
unidades de experimentación en orden totalmente al azar. En lo que
concierne a la IS también la asignación de los sujetos deben ser
realizada de la misma manera, debido al impacto crítico que pueden
tener en las variables de respuesta. Por asignación al azar se
entiende, que no debe depender de una decisión consciente (ni
tampoco inconsciente) del experimentador, por lo que se recomienda
lanzar monedas, dados o tomar cartas para realizarlo.
Por ejemplo, si se desea encontrar cual es la mejor de dos técnicas
de diseño de sistemas, y se cuenta con seis sujetos para realizar el
experimento (cada técnica se repite tres veces). La asignación puede
realizarse utilizando un dado para indicar que sujeto va a utilizar cual
técnica, pudiendo quedar por ejemplo: T1S1, T1S2, T1S5 y el resto
T2S3, T2S4, T2S6.
4.4. TIPOS DE DISEÑOS
Una vez establecidos los parámetros, factores, las variables
bloqueantes y las de respuesta, es posible determinar el tipo de
diseño de experimento a utilizar.
Los más utilizados se clasifican en la siguiente tabla:
Cantidad de
factores Existencia variaciones Diseño
Un factor de
interés
(con 2 o más
alternativas)
No existen variaciones no
deseadas
Diseño Simple al Azar
Diseño de Comparación de Parejas
al azar
Existen variaciones no
deseadas Diseño Bloqueante
Mas de un factor
de interés
(con 2 o más
alternativas cada
uno)
No existen variaciones no
deseadas
Diseño de variación de uno por vez
Diseño Factorial
Diseño Anidado
Diseño Factorial Fraccional
Existen variaciones no
deseadas Diseño Bloqueante Factorial
A continuación se realiza una breve descripción de cada uno:
- Diseño Simple al Azar (Simple Randomised Design): Es el tipo
de diseño más simple, por contar con un único factor de
variación que puede dos o más alternativas que influyen en las
variables de salida. En este tipo de diseño lo único que hay que
tener en cuenta es asignar las alternativas (y los sujetos) a las
unidades de experimentación en forma aleatoria.
- Diseño de Comparación de Parejas al azar (Randomised Paired
Comparison Designs): En el caso de que cuente con un único
factor que posee sólo dos alternativas es posible utilizar este
tipo de diseño para decidir cual es la mejor de dos alternativas.
Consiste en aplicar ambas alternativas a cada uno de las
unidades de experimentación. Sin embargo, es recomendable
que no participen los mismos sujetos en los mismos
experimentos, debido al error que se puede producir por
aprendizaje sobre el problema del experimento. Estos deben ser
asignados en forma aleatoria a cada unidad de experimentación.
- Diseño Bloqueante (Block Design): En el caso de que existan
uno o más fuentes de variación no deseada en el experimento,
con un único factor se debe utilizar este tipo de diseño. De esta
forma se trata de eliminar la influencia no deseada sobre las
variables de respuesta, dejando sólo la influencia del factor que
se desea estudiar. Consiste en tratar de balancear
cuidadosamente el diseño para que todas las fuentes de
variación no deseadas tengan una probabilidad igual de influir
en todas las alternativas del factor bajo estudio, y de esta forma
se cancelan o bloquean. Por lo tanto la cantidad de
experimentos necesarios aumenta en relación a la cantidad de
alternativas del factor y de alternativas de las variables
bloqueantes.
- Diseño de variación de uno por vez (Designs with One Variation
at a Time): Se utiliza en el caso de que existan más de un factor
para examinar como sus alternativas influyen en la variable de
respuesta, pero sin existir fuentes no deseadas de variación. En
este tipo de diseño, se hace variar en cada experimento sólo
uno de los factores para ver como afecta a la variable de
respuesta, dejando el resto como estaban. Una vez que se
probaron todos los posibles valores del factor, se elige el que
genera el mejor resultado y se utiliza éste para realizar los
experimentos haciendo variar otro de los factores. De esta
manera se trata de obtener los mejores resultados in necesidad
de probar todas las combinaciones de los factores. Sin embargo,
este tipo de diseño es incompleto porque no evalúa todas las
combinaciones entre los factores por lo que no es
recomendable.
- Diseño Factorial (Factorial Design): Este tipo de diseño
soluciona el problema del diseño anterior, realizando tanto
experimentos como posibles combinaciones entre las
alternativas de todos los factores existan. De esta forma se
asegura descubrir los efectos de cada factor y su interacciones
con los otros factores. Sin embargo, debido a la cantidad
exponencial de experimentos que requiere, puede necesitar de
mucho tiempo y presupuesto para realizarlo. Existen algunas
estrategias para reducir la cantidad de experimentos como
pueden ser reducir la cantidad de alternativas por factor o
utilizar Diseño Fraccional o Anidado, si es posible.
- Diseño Anidado (Nested Design): En el caso de que ciertas
alternativas de un factor sólo puedan ocurrir en conjunción con
otras de otro factor, es posible utilizar este tipo de diseño.
Supongamos que se posea dos factores, uno con los valores A y
B, el otro con C y D. Si el valor de A depende siempre que
suceda C, y lo mismo sucedería entre B y D entonces no tendría
sentido realizar los experimentos con las combinaciones AD y
BC. En ese caso se dice que ciertas alternativas de un factor
están anidados en otro factor. Sin embargo, el análisis de este
tipo de diseños es más complicado y por lo tanto no es
comúnmente utilizados en experimentos de IS.
- Diseño Factorial Fraccional (Fractional Factorial Design): Este
tipo de diseño trata de reducir la cantidad de experimentos que
necesita un diseño factorial sacrificando la cantidad de
información que se genera debido a que no todas las
interacciones entre los factores son examinadas. Por otro lado,
en ciertos casos puede suceder que ciertas interacciones ya
sean conocidas y no tengan sentido ser estudiadas por lo que no
habría problema en utilizar este tipo de diseño. Está basado en
la idea de que no todas las variables influyan sobre las variables
de respuesta, y sólo las interacciones entre dos o como mucho
tres variables tienen influencia sobre los resultados. Este
principio, conocido como principio de “efecto de dispersión”,
considera que una interacción entre más de tres variables
generalmente no es importante sobre la variable de salida. En
caso necesario, luego de utilizar este tipo de diseño es posible
utilizar el diseño factorial para obtener mayor información.
- Diseño Bloqueante Factorial (Block Factorial Design): En el caso
de que además de varios de factores deseados se produzca la
variación de fuentes no deseadas se utiliza este tipo de diseño.
Al igual que Diseño Bloqueante, se trata de cancelar el efecto de
las fuentes no deseadas y garantizar que las variables de
respuestas sean afectadas solamente por los factores. Sin
embargo, en este caso no siempre es necesario repetir los
experimentos de manera que por cada variable bloqueante se
repitan todas las combinaciones de los factores (lo que brindaría
información más confiable pero generaría una cantidad muy
grande de experimentos). En vez de esto, se generan las todas
combinaciones como en el Diseño Factorial y se asignan igual
cantidad de combinaciones a los posibles valores de la variable
bloqueante. El mayor problema de este tipo de diseño es que
exista mucha interacción entre los factores, lo que produciría
que no se pueda saber como afectan el resultado. De todas
maneras esto no suele suceder por lo que este tipo de diseño es
muy útil y su análisis bastante simple.
4.5. CONSIDERACIONES ESPECIALES
A continuación se listan unas consideraciones especiales que deben
tenerse en cuenta para el diseño de experimentos en IS:
- Efecto de aprendizaje de la técnica, esto se produce cuando una
persona luego de haber aplicado más de una vez una técnica, no
hará las cosas de la misma manera que lo hizo la primera vez.
Este aprendizaje produce una variación en la variable de
respuesta que se puede confundir con el de la aplicación de la
técnica. Este problema puede ser solucionado utilizando
diferentes sujetos para repetir la utilización de una técnica,
cuando es posible, utilizándolos como variables bloqueantes o
incrementando la cantidad de repeticiones con diferentes
sujetos.
- Formalización inconsciente, es una variación del efecto anterior.
Puede suceder entre diferentes técnicas para realizar tareas
similares pero una es más formalizada que la segunda. Puede
ser que el sujeto utilice el procedimiento de la primera en los
puntos abiertos de la segunda inconscientemente. Por lo tanto,
se recomienda utilizar primero la técnica menos formalizada y
luego la más formalizada.
- Efecto de aprendizaje del objeto, al igual que el efecto anterior,
puede suceder que los sujetos aprendan sobre el problema lo
que genera posibles diferencias en las variables de respuesta. La
solución de este problema también consiste en utilizar distintos
sujetos para resolver el mismo problema, o hacer variar cada
vez un poco el problema para asegurarse que lo aprendido en
uno no lo puedan utilizar en el siguiente.
- Efecto de aburrimiento, el efecto contrario al de aprendizaje
puede deberse a un sentimiento de aburrimiento o cansancio de
los sujetos hacia el experimento produciendo que apliquen
menor esfuerzo e interés y así peores resultados de los que se
deberían obtener. Por lo tanto, no es recomendable ejecutar
experimentos por largos periodos de tiempo. Y se debe tratar de
mantener a los sujetos motivados a través de cierto beneficio
para mantenerlos interesados.
- Efecto de Entusiasmo, el efecto contrario al anterior. Puede
suceder cuando se quiere probar una técnica tradicional con una
nueva. Los sujetos que trabajan con la nueva pueden sentirse
más motivados e inspirados para aprender la herramienta. Una
forma de evitar esto es no darles a conocer a los sujetos sobre
cual es la más novedosa de las técnicas que se están utilizando.
- Efecto de Experiencia, si se compara una técnica nueva con una
existente, puede suceder que haya sujetos que tengan mayor
experiencia en el uso de esta última, obteniendo así mejores
resultados. Por lo tanto es recomendable aplicar primero las
técnicas con sujetos que no tengan conocimiento en ninguna de
las dos técnicas y luego con sujetos con algo de experiencia en
la existente.
- Seguridad sobre los procedimiento realizados por los sujetos, es
importante mencionar, que aunque los sujetos tengan definido
un procedimiento para seguir en la realización del proceso a
probar, puede ser que no lo sigan al pie de la letra, generando
posibles variaciones. Una forma de asegurar esto es seguir un
protocolo de técnica de análisis, por el que se grabe al sujeto
explicando los pasos que va realizando en el experimento y que
luego es revisado para asegurarse que cumplió con los pasos
especificados.
- Efecto del estado emocional, el estado emocional de los sujetos
que participan en el experimento pueden afectar directa o
indirectamente los resultados que se generan. Por lo tanto,
deben tratar de mantenerlos lo más constantes posibles, para
ejecutarse en forma homogénea.
Para conclurir, es importante mencionar, que la solución para algunos
de estos efectos, puede afectar la asignación al azar que se debe
realizar de los objetos y subjetos a los experimentos (randomisation).
Por lo que hay que tener cuidado, para no realizarlo a la ligera porque
podría afectar los valores en el momento del análisis.
5. EXPERIMENTOS DE COMPARACIÓN DE DOS MEDIAS
5.1. PLANTEO DEL TEST DE HIPÓTESIS
Cuando en ISE se desea construir nuevo conocimiento, pueden
presentare dos casos. El primero es que se plantee el empleo de una
nueva técnica que resuelve un problema no resuelto hasta el
momento. El segundo caso, es que se plantee el empleo de una
nueva técnica que resuelve un problema que ya tenía solución, el
punto radica en que esta nueva técnica supone una mejora respecto
a la ya existente.
Para el primer caso, hay que demostrar que la técnica resuelve el
problema. Para ello, alcanzaría con plantear algunos casos de prueba,
y aplicar la técnica para demostrar que resuelve el problema.
Para el segundo caso, se deben comparar ambas técnicas, y ver si la
nueva, mejora a la existente de manera significativa. Obviamente,
aplicar una vez cada técnica y comparar los resultados no aportará
información significativa sobre la nueva técnica. Par ello, hay que
recurrir al diseño experimental para la comparación de dos medias
poblacionales.
A continuación, se desarrollarán los procedimientos para resolver el
problema de comparación de dos medias de dos poblaciones
normales. Existen dos posibles planteos; uno donde se supone que la
media μ2 del tratamiento experimental (nueva técnica) es superior a
la media μ1 del tratamiento de control (técnica existente) por un
determinado margen δ0; y otro donde se supone que μ2 supera a μ1
en un x% (o sea, μ2 = μ1 + μ1 * x / 100 = h * μ1):
: μ2 <= μ1 + δ0 δ <= δ0 (δ = μ2 - μ1)
: μ2 <= h * μ1 δ <= δ0 = 0 (δ = μ2 – h * μ1)
Por tanto, el intervalo de confianza será:
P(A <= δ <= B) = 1 – α
En el experimento se tomarán dos muestras de tamaño n1 y n2. Si
D(mδ) es el desvío estándar de mδ, donde mδ es la media observada
de δ, entonces, las siguientes variables tienen distribución normal
estándar y distribución t de Student respectivamente:
Z = (mδ - δ) / (D(mδ))
t = (mδ - δ) / (mD(mδ))
El intervalo de confianza para δ será:
mδ ± Z1-α/2 D(mδ)
mδ ± tv;1-α/2 mD(mδ)
La hipótesis nula:
: δ <= δ0
Tendrá la condición de rechazo:
CR: mδ >= mδc = δ0 + Z1-α D(mδ)
CR: mδ >= mδc = δ0 + tv;1-α mD(mδ)
Durante el experimento pueden presentarse tres casos:
1) Varianzas poblacionales 12 y 2
2 conocidas (caso muy raro)
2) Varianzas poblacionales 12 y 2
2 desconocidas e iguales
3) Varianzas poblacionales 12 y 2
2 desconocidas y distintas
5.2. VARIANZAS POBLACIONALES 12 Y 2
2 CONOCIDAS
Es un caso extremadamente raro, y no suele darse esta condición de
manera regular.
Se tiene:
δ = μ2 - μ1 mδ = 2 - 1
D2(mδ) = ( 12/n1) + ( 2
2/n2)
El intervalo de confianza será:
mδ ± Z1-α/2 D(mδ) = mδ ± Z1-α/2 √[( 12/n1) + ( 2
2/n2)]
Luego, por cada hipótesis nula se tendrá una condición de rechazo:
: μ2 <= μ1 + δ0 δ <= δ0 (δ = μ2 - μ1)
CR: mδ >= mδc = δ0 + Z1-α D(mδ)
CR: mδ >= mδc =δ0 + Z1-α √[( 12/n1) + ( 2
2/n2)]
Y para:
: μ2 <= h * μ1 δ <= δ0 = 0 (δ = μ2 – h * μ1)
D2(mδ) = ( 12/n1) + h2 * ( 2
2/n2)
CR: mδ >= mδc = Z1-α D(mδ)
CR: mδ >= mδc = Z1-α √[( 12/n1) + h2 * ( 2
2/n2)]
Ejemplo: se desea saber que método de ordenamiento de vectores
resulta más eficiente, el método de ordenamiento rápido (quick sort)
o el de método de intercambio (o burbuja). Para ello, se seleccionan
100 vectores distintos de 500 elementos cada uno, todos generados
de manera aleatoria. Como el ordenamiento se realiza en muy pocas
fracciones de segundos, cada vector será ordenado por cada método
unas 200 veces. Se conoce las varianzas de ambos métodos en estos
casos por haber sido probados anteriormente en numerosas
ocasiones, y es de 4 segundos en el caso del método de
ordenamiento por burbujas sobre una media de 50 segundos, y 3
segundos para una media de 45 segundas del quick sort. Se realizan
las pruebas del caso, obteniéndose las medias poblacionales de 51
segundos para el método de burbujas y 47 segundos para el quick
sort. Se desea saber con una confianza del 95% si el método de
ordenamiento rápido es más eficiente que el método de ordenamiento
burbuja.
Solución: para el ejemplo planteado, tenemos dos medias
poblacionales:
μ2 = 51 segundos (tratamiento de control)
μ1 = 47 segundos (tratamiento experimental)
Por tanto, se tiene la siguiente hipótesis nula:
: μ2 <= μ1 δ <= δ0 = 0 (δ = μ2 - μ1)
Los sujetos experimentales son:
n1 = 100
n2 = 100
La condición de rechazo es:
CR: mδ >= mδc =δ0 + Z1-α √[( 12/n1) + ( 2
2/n2)]
mδ = 4 segundos
mδc = 0 + Z95 √[(32/10000) + (42/10000)] = 0 + 1,96 * 0,5 = 0,98
Por tanto, se cumple la condición de rechazo con un nivel de
confianza del 95%, lo que hace descartar la hipótesis nula. En
conclusión, se pede afirmar con un nivel de confianza del 95%, en
base a la experimentación realizada, que el método de ordenamiento
quick sort es más eficiente (en cuanto a velocidad de ordenamiento)
que el método burbjuja.
Se verá, usando este ejemplo, la importancia de la inferencia
estadística. Primero se supondrá que la media del quick sort arrojó un
resultado de 49 segundos. Si en lugar de 100 vectores se hubiesen
seleccionado 9, entonces la condición de rechazo daría:
CR: mδ >= mδc =δ0 + Z1-α √[( 12/n1) + ( 2
2/n2)]
mδ = 2 segundos
mδc = 0 + Z95 √[(32/10000) + (42/10000)] = 0 + 1,96 * 1,66 = 3,25
Por lo que la condición de rechazo no se cumple, y no puede
descartarse la hipótesis nula. Si bien en este caso se ve que el quick
sort arrojó un mejor resultado, con la cantidad de unidades de
experimentación (o sujetos experimentales) seleccionados, no puede
asegurarse con cierta confianza (nivel del 95%) que esto sea
realmente así, y el experimento no resultaría concluyente.
5.3. VARIANZAS POBLACIONALES 12 Y 2
2 DESCONOCIDAS E IGUALES
La varianza poblacional se estima con:
S2 = [(n1 - 1) S12 + (n2 – 1) S2
2] / [n1 + n2 -2]
Por lo tanto, el estimador de la varianza de mδ será:
mD2(mδ) = S2 [(1 / n1) + (1 / n2)]
El intervalo de confianza:
mδ ± tv;1-α/2 mD(mδ) = mδ ± tv;1-α/2 √[S2 [(1 / n1) + (1 / n2)]]
v = n1 + n2 – 2
Cada planteo de la hipótesis nula tendrá su correspondiente condición
de rechazo. Así, para:
: μ2 <= μ1 + δ0 δ <= δ0 (δ = μ2 - μ1)
CR: mδ >= mδc = δ0 + tv;1-α mD(mδ)
CR: mδ >= mδc = δ0 + tv;1-α √[S2 [(1 / n1) + (1 / n2)]]
Y para:
: μ2 <= h * μ1 δ <= δ0 = 0 (δ = μ2 – h * μ1)
CR: mδ >= mδc = tv;1-α mD(mδ)
CR: mδ >= mδc = tv;1-α √[S2 [(h2 * 1 / n1) + (1 / n2)]]
Ejemplo: se desea comparar la curva de aprendizaje de dos
lenguajes de programación orientados a objetos. Por un lado se tiene
Java y por otro Pyhton, que supone aprendizaje con una media un
20% más rápido que Java, o al menos esto es lo que se desea probar
con un nivel de confianza del 95%. Para hacerlo, se toma una
población de 11 programadores C y C++, dividiéndolos en un grupo
de 5 para que aprendan Java y otro de 6 para Pyhton. Se establece
un problema base que los programadores deben poder resolver en el
nuevo lenguaje para comprobar que lo aprendieron. Como la
población de programadores es homogénea y se aplican técnicas
similares de enseñanza del lenguaje para ambos casos, se espera que
llas varianzas poblacionales, si bien no son conocidas, sean iguales. El
aprendizaje del primer lenguaje (Java) dio una media de 24 días con
una varianza de 3 días, en tanto que el aprendizaje de Pyhton arrojó
una media de 18 días y una varianza de 2 días.
Solución: para el ejemplo planteado, tenemos dos medias
poblacionales:
μ2 = 24 días (tratamiento de control)
μ1 = 18 días (tratamiento experimental)
Por tanto, se tiene la siguiente hipótesis nula:
: μ2 <= h * μ1 δ <= δ0 = 0 (δ = μ2 – h * μ1)
Donde:
h = 1,2
El resto de los parámetros son:
n2 = 5; n1 = 6; v2 = 4; v1 = 5
Las varianzas poblacionales son:
S1 = 2 días
S2 = 3 días
La varianza poblacional se estima con:
S2 = [(n1 - 1) S12 + (n2 – 1) S2
2] / [n1 + n2 -2]
S2 = (5 * 4 + 4 * 9) / (6 + 5 – 2) = 52 / 9 = 5,66
La condición de rechazo es:
CR: mδ >= mδc = tv;1-α mD(mδ)
CR: mδ >= mδc = tv;1-α √[S2 [(h2 * 1 / n1) + (1 / n2)]]
v = n1 + n2 – 2 = 9
mδ = 24 – 1,2 * 18 = 2,4
mδc = t9;95 √[5,66 ((1,22 * 1 / 6) + (1 / 5)]
mδc = 1,83 √[5,66 ((1,44 / 6) + 0,2)] = 1,83 * √[5,66 * 0,44]
mδc = 1,83 * √2,49 = 1,83 * 1,58 = 2,89
Por lo que no se cumple la condición de rechazo. Esto significa que no
puede descartarse la hipótesis nula, y que, por lo tanto, el resultado
no es concluyente.
5.4. VARIANZAS POBLACIONALES 12 Y 2
2 DESCONOCIDAS Y DISTINTAS
Para el caso:
: μ2 <= μ1 + δ0 δ <= δ0 (δ = μ2 - μ1)
El intervalo de confianza es:
mδ ± tv;1-α/2 mD(mδ) = mδ ± tv;1-α/2 √[(S12 / n1) + (S2
2 / n2)]
Y la condición de rechazo es:
CR: mδ >= mδc = δ0 + tv;1-α mD(mδ)
CR: mδ >= mδc = δ0 + tv;1-α √[(S12 / n1) + (S2
2 / n2)]
Donde los grados de libertad están dados por:
Para el caso:
: μ2 <= h * μ1 δ <= δ0 = 0 (δ = μ2 – h * μ1)
El intervalo de confianza es:
mδ ± tv;1-α/2 mD(mδ) = mδ ± tv;1-α/2 √[(h2 * S12 / n1) + (S2
2 / n2)]
Y la condición de rechazo es:
CR: mδ >= mδc = tv;1-α mD(mδ)
CR: mδ >= mδc = tv;1-α √[(h2 * S12 / n1) + (S2
2 / n2)]
Donde los grados de libertad están dados por:
Ejemplo: desea probarse la eficiencia de una nueva técnica para
educción de requisitos, que fuera desarrollada para ser una
alternativa, supuestamente de mejor rendimiento, que las
entrevistas. La nueva técnica que está basada en escenarios, supone
una mejora con respecto a las entrevistas en cuanto a la facilidad
para descubrir requisitos en una primera aproximación rápida. Así, si
con las entrevistas se tiene una cantidad de requisitos N en una
primera aproximación, y con la nueva técnica se obtienen M (M>N),
entonces la nueva técnica estaría proporcionando una aproximación
más rápida en menor tiempo, con una consiguiente reducción de
costos y recursos en general para el proyecto. Para realizar el
experimento, se utilizan 16 analistas, que son separados en dos
grupos de 8. Cada analista realizará un relevamiento de requisitos
para cuatro problemas distintos (pero de características similares). La
nueva técnica tiene una media de 25 requisitos con una varianza de 4
requisitos. La técnica basada en entrevistas arroja una media de 22
requisitos con una varianza de 3 requisitos. Si se desea tener una
confianza del 90%, ¿qué peude decir del resultado del experimento?
Solución: se tiene el siguiente caso:
: μ2 >= μ1 δ >= δ0 = 0 (δ = μ1 - μ2)
Donde:
mδ = 25 – 22 = 3 requisitos
Los grados de libertad están dados por:
n1 = n2 = 8
v1 = v2 = 7
v = [(4 + 3)2 / 64] / [(4 + 3)2 / 7 * 64] = 7
Y la condición de rechazo es:
CR: mδ >= mδc = tv;1-α mD(mδ)
CR: mδ >= mδc = tv;1-α √[(S12 / n1) + (S2
2 / n2)]
mδc = t7;90 √[(16/8)+(9/8)] = 1,415 * 1,768 = 2,5
Por lo que se cumple la condición de rechazo (3 > 2,5), y la hipótesis
nula es rechazada, con la consecuente aceptación de la nueva técnica
con una confianza del 90%.
Obsérvese, que si se hubiese elegido un intervalo de confianza del
95%, el resultado hubiese sido:
mδc = t7;95 √[(16/8)+(9/8)] = 1,96 * 1,768 = 3,4
Por lo que en este caso, el resultado no sería concluyente.
Lo interesante de este ejemplo, es ver que en ocasiones, la
aceptación de una nueva técnica, depende de la confianza con que se
está dispuesto a aceptarla. Se ve que con una confianza del 90%, la
nueva técnica supera a la usada, aunque con una confianza del 95%,
y con la cantidad de sujetos experimentales (unidades
experimentales) usadas, los resultados no serían concluyentes.
5.5. NIVEL DE SIGNIFICACIÓN A POSTERIORI O P-VALUE
Como se explicara oportunamente, existe una condición de rechazo
es universal para cualquier ensayo de hipótesis, el “nivel de
significación a posteriori” o p-value:
p-value <= α
Para el caso de varianzas poblacionales 12 y 2
2 conocidas, se tiene:
p-value = 1 – Ф[(mδ – δ0) / D(mδ)]
Para el caso de varianzas poblacionales 12 y 2
2 desconocidas, se
tiene:
p-value = 1 – FSt[(mδ – δ0) / D(mδ) | v]
6. DISEÑO DE EXPERIMENTOS Y ANÁLISIS DE RESULTADOS
6.1. EL CASO DEL PROF. H
Habiendo visto las herramientas necesarias para diseñar un
experimento, ejecutarlo y analizar los resultados, se volverá al
ejemplo de la Guía “Experimentación en IS” del Prof. H para explicar
los resultados que obtuvo.
Se comienza por recordar el ejemplo:
El Prof. H, que investiga sobre técnicas de testing en la universidad
descubre un nuevo método de inspección de código que, a priori,
parece que mejora el desempeño de otras técnicas tradicionales
como es por ejemplo la técnica basada en perspectivas. Por tal
motivo, decide realizar un estudio empírico que le permita validar
esta hipótesis. Dado que posee recursos económicos limitados, hace
un llamado a estudiantes de los últimos años de la carrera de
ingeniería en Sistemas para que participen en el proyecto. Como
resultado de la convocatoria consigue reclutar a 16 estudiantes, los
cuales son entrenados 8 en el nuevo método y 8 en el método basado
en perspectiva, obteniendo los siguientes resultados:
Nueva método Técnica basada en perspectivas
Media (Me) = 12.000
Desvío Estándar (Se) = 2.673
Media (Mc) = 11.125
Desvío Estándar (Sc) = 2.800
Resultados del estudio experimental
En base a estos valores obtenidos, el Prof. H, realiza un contraste de
hipótesis (un t-test suponiendo varianzas iguales, con α = 0.05) para
intentar validar los resultados. Dicho test arroja un p-value de 0.53,
por tanto no puede asegurarse que el nuevo método mejore el
desempeño del método preexistente.
El resultado del experimento desilusiona profundamente al Prof. H,
sin embargo, escribió un paper que envió a un workshop de
International Conference of Empirical Software Engineering (ICESE).
Al finalizar el proceso de revisión, el Prof. H, recibió la siguiente
evaluación:
Originality: Accept
Importance: Strong Reject
Overall: Reject
Detail
coments:
Su trabajo es interesante pero tiene dos grandes
falencias, en primer lugar ha sido desarrollado con
muy pocos sujetos experimentales (que, además,
no son profesionales), y, en segundo lugar, los
resultados del estudios son no significativos, por lo
cual no aporta información relevante para los
profesionales del área.
Resultados de la evaluación del trabajo
6.2. LAS NOTAS DEL PROF. H
En base a lo que se ha visto hasta aquí, se puede decir que el Prof. H
realizó un test de hipótesis para comparar dos medias poblacionales
(Me y Mc) con varianzas desconocidas (utilizó t-test o t de Student
para la prueba de hipótesis) e iguales y un intervalo de confianza del
95% (α = 0,05). Obtuvo un p-value = 0,53.
El test de hipótesis que realizó el Prof. H, de acuerdo a lo visto, debió
ser:
La varianza poblacional:
S2 = [(n1 - 1) S12 + (n2 – 1) S2
2] / [n1 + n2 -2]
S2 = (7 * 2,6732 + 7 * 2,8002) / 14 = 7,49
Estimador de la varianza de mδ:
mD2(mδ) = S2 [(1 / n1) + (1 / n2)]
mD2(mδ) = 7,49 * 0,25 = 1,87
mD(mδ) = 1,37
Los grados de libertad:
v = n1 + n2 – 2 = 14
La hipótesis nula:
: μ2 >= μ1 δ >= δ0 = 0 (δ = μ1 - μ2)
P-value:
p-value = 1 – FSt[(mδ – δ0) / D(mδ) | v] = 1 – FSt[(0,875/1,37) | 14]
p-value = 1 – FSt[0,64 | 14] = 0,53
Por el p-value se puede decir que el resultado no es concluyente, ya
que la hipótesis nula no es rechazada con estos valores. Si se viera la
condición de rechazo, se tendría el mismo resultado:
CR: mδ >= mδc = tv;1-α √[S2 [(1 / n1) + (1 / n2)]]
mδ = 0,875
mδc = t14;95 √[7,49 * 0,25] = 1,76 * 1,37 = 2,41
Y la hipótesis nula no es rechazada.
Como se vio en el ejemplo ficticio del Prof. H, los conceptos y
herramientas estadísticas para interpretar los resultados de una
investigación ya fueron tratados.
Sin embargo, y a pesar de no haber arrojado resultados
significativos, el Prof. H decide de todos modos publicar los
resultados. ¿A qué se debe que lo haya hecho?