35
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”.

DISEÑO DE EXPERIMENTOS EN INGENIERÍA DE …sistemas.unla.edu.ar/.../pdf/ISE-GdE-2-Diseno-de-Experimentos-Mate… · UNIVERSIDAD NACIONAL DE LANUS LICENCIATURA EN SISTEMAS Ingeniería

  • Upload
    doantu

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

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?