INFORMATION

Psicothema was founded in Asturias (northern Spain) in 1989, and is published jointly by the Psychology Faculty of the University of Oviedo and the Psychological Association of the Principality of Asturias (Colegio Oficial de Psicología del Principado de Asturias).
We currently publish four issues per year, which accounts for some 100 articles annually. We admit work from both the basic and applied research fields, and from all areas of Psychology, all manuscripts being anonymously reviewed prior to publication.

PSICOTHEMA
  • Director: Laura E. Gómez Sánchez
  • Frequency:
         February | May | August | November
  • ISSN: 0214-9915
  • Digital Edition:: 1886-144X
CONTACT US
  • Address: Ildelfonso Sánchez del Río, 4, 1º B
    33001 Oviedo (Spain)
  • Phone: 985 285 778
  • Fax: 985 281 374
  • Email:psicothema@cop.es

Psicothema, 1996. Vol. Vol. 8 (nº 3). 691-697




PROGRAMA PARA EL CONTRASTE DE LINEALIDAD APLICADO A LOS AJUSTES DE RESPUESTAS PSICOFÍSICAS

Enrique Moreno González

Universidad Nacional de Educación a Distancia

En este trabajo se presenta un programa, escrito en QBASIC, para el ajuste de tres tipo de funciones psicofísicas (logarítmica, potencial y lineal) y el contraste de la hipótesis de linealidad del ajuste. El programa proporciona la tabla del Análisis de Varianza de la Regresión, con las sumas de cuadrados que permiten efectuar el contraste de linealidad, los parámetros de la función de ajuste elegida, el coeficiente de correlación y el coeficiente de determinación.

A program for testing linearity applied to the fit of the psychophysical responses. In this work we present a program, written in QBASIC language, to fit three types of psychophysical functions (logarithmic, power and linear). The program provides the table of Analysis of Variance of regression, with the sum of squares which allows to carry out the test of linearity, the parameters of the fitted function, Pearsons correlation coefficient, and the coefficient of determination.

PDF

Dentro del ámbito de la Psicofísica, el ajuste del binomio estímulo-sensación mediante funciones ha ocupado a buena parte de los investigadores, comenzando por el propio Fechner (1860), padre de la disciplina; para éste, la relación entre estímulo y sensación es logarítmica y puede expresarse del siguiente modo:

S = b LnE + a

donde E representa la magnitud del Estímulo, S la magnitud de la Sensación y a y b los parámetros de la función.

Posteriormente, varias décadas después, Stevens (1975)1 descubrió experimentalmente -a diferencia de Fechner, que lo elaboró de manera teórica- que los datos de los diferentes ensayos psicofísicos que efectuó se ajustaban de manera más precisa a una función potencial del tipo:

S = cEn

donde E = magnitud estímulo; S = magnitud sensación; c y n parámetros de la función.

Esta función es linealizable aplicando logaritmos a ambos términos de la ecuación, con lo que adopta la forma:

Ln S = Ln c + nLn E

Otros autores (Cadwallader, 1973; Fontes, 1988; Moreno, 1994; Rodríguez Miñón, 1989) postulan la función lineal como función descriptiva de la relación entre intensidad del estímulo y magnitud de la sensación, fundamentalmente cuando se hacen juicios de longitudes de segmentos rectilíneos. La función lineal puede expresarse así:

S = d E + f

donde E = magnitud estímulo; S = magnitud sensación; d y f parámetros de la función.

Como criterio de bondad del ajuste de la función de regresión, se adopta el coeficiente de correlación al cuadrado, R2, que informa del porcentaje de variación de la sensación que es explicada por la variación estimular. Sin embargo, como han señalado algunos autores (Birnbaum, 1973; Weiss, 1981; Rodríguez Miñón, Garriga y Ponsoda, 1991), el hecho de obtener valor significativos de la regresión no implica que la relación entre el estímulo y la sensación tenga únicamente un componente lineal.

Para la realización del contraste de linealidad se descompone la suma de cuadrados total, es decir, las desviaciones al cuadrado de cada observación de la variable dependiente (sensación, S) respecto a la media total, en tres componentes:

donde:

Sij = respuestas para cada uno de los p estímulos

= media total de las respuestas

i= medias de las respuestas al estímulo clase i

i = medias para la clase i bajo la hipótesis de linealidad

m = número de observaciones para el estímulo clase i

Para contrastar la hipótesis de linealidad, se comparan las medias muestrales estimadas directamente a partir de los datos,i, con las medias muestrales estimadas bajo la hipótesis de linealidad,i, y este estadístico sigue una distribución F. Las características del test se resumen en la Tabla 1.

Para una explicación más detallada del fundamento del contraste puede consultarse en Peña (1987) y Johnston (1984). Si el resultado del contraste es significativo es obligado proceder a ajustar una función de mayor grado (generalmente cuadrático) para describir apropiadamente la relación entre estímulo y sensación.

Características del programa

El programa, escrito en QBASIC -por su amplia difusión en PC’s-, está diseñado para calcular los parámetros de tres tipos de funciones de ajuste y el contraste de linealidad del ajuste, y presenta cinco bloques diferenciados:

Bloque 1. Elección del tipo de ajuste que se desea efectuar. Opciones: Logarítmica, Potencial y Lineal.

Bloque 2. Declaración de la matriz para almacenar las respuestas de los observadores; declaración del vector para almacenar las magnitudes de los estímulos; declaración de los vectores necesarios para los cálculos intermedios. Hecha la declaración se procede a la lectura de los datos estímulo-respuesta (almacenados en un fichero externo) y se inicializan a cero los vectores para cálculos intermedios

Bloque 3. Transformación de los datos en función del tipo de ajuste elegido en Bloque 1.

Bloque 4. Algoritmo para obtener los parámetros de la función de ajuste y contrastar la hipótesis de linealidad de la función.

Bloque 5. Salida de resultados. El programa proporciona los sumas de cuadrados, grados de libertad y medias cuadrática que se muestran en la Tabla 1. Además indica el tipo de ajuste efectuado, los parámetros de dicho ajuste (pendiente y ordenada), el coeficiente de correlación estímulo-respuesta, el coeficiente de determinación, y los valores del estadístico F del contraste de regresión y del contraste de linealidad, con su significación correspondiente; para evaluar ésta F se incluye la subfunción DISTRIF.

Este programa ya ha sido empleado con éxito en el ajuste de los datos a tres diferentes funciones (logarítmica, potencial y lineal), con sus respectivos contrastes de linealidad, en la investigación de Moreno (1994), centrada en el análisis de los juicios psicofísicos de estimación de magnitudes de longitud y superficie, bajo diferentes condiciones experimentales.

En el Apéndice 1 se presenta el código fuente del programa, con una explicación detallada de los vectores y variables que se declaran para efectuar los cálculos intermedios. En el Apéndice 2 se muestra un conjunto de datos y la salida de resultados cuando se ejecuta el programa sobre ese conjunto.

APENDICE 1

CODIGO FUENTE DEL PROGRAMA

DECLARE SUB DISTRIF (F!, gln%, gld%)

‘ AUTOR: Enrique Moreno González

‘ FACULTAD DE PSICOLOGIA. UNED. MADRID, 1994

‘ LENGUAJE: QBASIC

‘**************************************

‘ BLOQUE 1: Elección del tipo de ajuste

‘**************************************

‘ En primer lugar, el usuario del programa debe especificar el

‘ tipo de función a que quiere ajustar los datos. Los tres tipos

‘ contemplados son el ajuste Lineal, el ajuste Potencial, y el

‘ ajuste Logarítmico.

CLS

LOCATE 10, 12: PRINT "Seleccionar opción"

LOCATE 13, 12: PRINT "1. Ajuste logarítmico"

LOCATE 14, 12: PRINT "2. Ajuste potencial"

LOCATE 15, 12: PRINT "3. Ajuste lineal"

LOCATE 16, 12: PRINT "4. Salir del programa"

DO

LOCATE 18, 15: INPUT "Opción #...", AJUSTE%

LOOP UNTIL AJUSTE% < 5 AND AJUSTE% > 0

IF AJUSTE% = 4 THEN

END

END IF

‘**************************************

‘ BLOQUE 2: Declaración de matrices y vectores para almacenar los datos y acumular los cálculos intermedios

‘**************************************

‘ El fichero con los datos de las estimaciones debe estar compuesto

‘ por dos columnas (primera: magnitud de los estímulos; segunda:

‘ estimaciones numéricas de los sujetos) y tantas filas como ensayos

‘ se hayan efectuado a lo largo de una sesión (para cada estímulo

‘ han de realizarse el mismo número de ensayos). Este fichero debe estar

‘ en orden ascendente de magnitud de los C estímulos para que la solución

‘ del contraste sea correcta. Este orden supone que los N ensayos del

‘ estímulo primero deben estar escritos de manera consecutiva en el

‘ fichero, luego los N ensayos del estímulo segundo, y así sucesivamente.

‘ Si no está ordenado el fichero en el sentido anterior, es preciso

‘ efectuar algún procedimiento de ordenación antes de aplicar

‘ el algoritmo de resolución de los ajuste y el contraste de linealidad

‘ presentado en este programa.

INPUT "Nombre del fichero con las estimaciones"; FILE$

INPUT "Número de estímulos presentados (clases): "; C

INPUT "Número de veces que se presenta cada estímulo: "; N

‘ Declaración de matrices (entre paréntesis la dimensión)

‘ para almacenar los datos contenidos en el fichero.

‘ El nombre del fichero está declarado en FILE$

‘ ADATOSY(c,n): almacenará las respuestas de los observadores

‘ ACLASEX(c): almacenará la magnitud de los estímulos

‘ ASUMAY(c): almacenará sumatorio de las n respuestas para cada estímulo

‘ ASUMA2Y(c): almacenará sumatorio de las n respuestas al cuadrado

‘ AMEDYCLASX(c): almacenará las medias de las n respuestas para cada estímulo

‘ ADTYCLASX(C): almacenará la desv. típica de las n respuestas para cada estímulo

DIM ADATOSY(C, N), ASUMAY(C), ASUMAY2(C)

DIM AMEDYCLASX(C), ADTYCLASX(C), ACLASEX(C)

‘ Abrir fichero con los datos

OPEN "I", #1, FILE$

‘ Carga las matrices ADATOSY con los juicios de los sujetos

‘ y la matriz ACLASEX con la magnitud de los estímulos. El resto

‘ de matrices declaradas con la sentencia DIM se inicializan a 0.

FOR I = 1 TO C

ASUMAY(I) = 0

ASUMAY2(I) = 0

AMEDYCLASX(I) = 0

ADTYCLASX(I) = 0

FOR J = 1 TO N

INPUT #1, ACLASEX(I), ADATOSY(I, J)

NEXT

NEXT

CLOSE #1

‘**************************************

‘ BLOQUE 3: Transformación de los datos en función del tipo de ajuste

‘**************************************

‘ Transformación de los datos en función del ajuste que se haya

‘ especificado al comienzo del programa

FOR I = 1 TO C

IF AJUSTE% = 1 OR AJUSTE% = 2 THEN

ACLASEX(I) = LOG(ACLASEX(I))

END IF

FOR J = 1 TO N

IF AJUSTE% = 2 THEN

ADATOSY(I, J) = LOG(ADATOSY(I, J))

END IF

NEXT

NEXT

‘**************************************

‘ BLOQUE 4: Algoritmo para:

‘ Cálculo de parámetros de la regresión.

‘ Cálculo de coeficiente de correlación de Pearson.

‘ Cálculo del coeficiente de determinación.

‘ Cálculo de las sumas de cuadrados de la Tabla 1 (ver texto).

‘ Cálculo valor de F del contraste de regresión.

‘ Cálculo valor de F del contraste de linealidad.

‘**************************************

‘ Descripción del contenido de las variables empleadas para

‘ los cálculos

‘ SUMAX: Sumatorio de los estimulo (en ACLASEX)

‘ SUMAX2: Sumatorio de los estímulos al cuadrado

‘ SUMAY: Sumatorio de las respuestas (en ADATOSY)

‘ SUMAY2: Sumatorio de las respuestas al cuadrado

‘ SUMMDY: Sumatorio de las medias de respuesta por estímulo (en AMEDYCLASX)

‘ SUMMDY2: Sumatorio medias de respuesta al cuadrado

‘ SUMAXPORY: Sumatorio productos cruzados estímulo por media de respuesta

‘ DESVX: Desviación de los estímulos

‘ DESVY: Desviación de las respuestas medias

‘ DESVXY: Desviación productos cruzados estímulo por media respuesta

‘ BETA: Pendiente de la función de ajuste

‘ ALFA: Intercepto de la función de ajuste

‘ S1: Suma de cuadrados de la regresión (en Tabla 1, SC1)

‘ S2: Suma de cuadrados media condicionada respecto regresión (en Tabla 1, SC2)

‘ S3: Suma de cuadrados de las respuestas respecto a la medias condicionadas (en Tabla 1, SC3)

‘ S4: Suma de cuadrados total (en Tabla 1, SC4)

‘ GLS1: Grados de libertad S1

‘ GLS2: Grados de libertad S2

‘ GLS3: Grados de libertad S3

‘ GLS4: Grados de libertad S4

‘ RXY: Coeficiente de correlación de Pearson

‘ FSRXY: Valor estadístico F para contraste regresión

‘ FLINEAL: Valor estadístico F para contraste linealidad

FOR I = 1 TO C

FOR J = 1 TO N

ASUMAY(I) = ASUMAY(I) + ADATOSY(I, J)

ASUMAY2(I) = ASUMAY2(I) + ADATOSY(I, J) ^ 2

NEXT

AMEDYCLASX(I) = ASUMAY(I) / N

ADTYCLASX(I) = ASUMAY2(I) / N - (AMEDYCLASX(I) ^ 2)

SUMAX = SUMAX + ACLASEX(I)

SUMAX2 = SUMAX2 + (ACLASEX(I) ^ 2)

SUMMDY = SUMMDY + AMEDYCLASX(I)

SUMMDY2 = SUMMDY2 + (AMEDYCLASX(I) ^ 2)

SUMAXPORY = SUMAXPORY + (ACLASEX(I) * AMEDYCLASX(I))

S3 = S3 + (ASUMAY2(I) - 1 / N * (ASUMAY(I) ^ 2))

SUMAY = SUMAY + ASUMAY(I)

SUMAY2 = SUMAY2 + ASUMAY2(I)

NEXT

DESVX = SUMAX2 - (SUMAX ^ 2 / C)

DESVXY = SUMAXPORY - (SUMAX * SUMMDY / C)

DESVY = SUMMDY2 - (SUMMDY ^ 2 / C)

BETA = DESVXY / DESVX

ALFA = (SUMMDY / C) - (BETA * (SUMAX / C))

S4 = SUMAY2 - (1 / (C * N)) * SUMAY ^ 2

S1 = N * (DESVXY ^ 2 / DESVX)

S2 = S4 - (S1 + S3)

RXY = SQR(S1 / S4)

‘ Grados de libertad

GLS1 = 1

GLS2 = C - 2

GLS3 = C * (N - 1)

GLS4 = C * N - 1

‘ Cálculo de las significación de la correlación (FSRXY),

‘ y la del contraste de linealidad (FLINEAL)

FSRXY = (S1 / GLS1) / ((S2 + S3) / (GLS2 + GLS3))

FLINEAL = (S2 / GLS2) / (S3 / GLS3)

‘**************************************

‘ BLOQUE 5: Salida de resultados

‘ 1. Tabla del ANVA de la Regresión (Sumas de cuadrados y grad. libertad

‘ 2. Tipo de Ajuste realizado

‘ 3. Parámetros regresión (BETA, ALFA). Coeficiente correlación

‘ Valor F contraste regresión, grados de libertad y significación

‘ estadística. Coeficiente de determinación. Valor F contraste

‘ linealidad, grados de libertad y significación

‘**************************************

PRINT "ANALISIS DE VARIANZA DE LA REGRESION"

PRINT "________________"

PRINT "Regresión S1 = ";

PRINT USING "####.###"; S1; GLS1

PRINT "Medias respecto reg. S2 = ";

PRINT USING "####.###"; S2; GLS2; S2 / GLS2

PRINT "Intra clases S3 = ";

PRINT USING "####.###"; S3; GLS3; S3 / GLS3

PRINT

PRINT "Total S4 = ";

PRINT USING "####.###"; S4; GLS4

PRINT "___________________"

IF AJUSTE% = 1 THEN

PRINT "AJUSTE logarítmico"

END IF

IF AJUSTE% = 2 THEN

PRINT "AJUSTE POTENCIAL"

ALFA = EXP(ALFA)

END IF

IF AJUSTE% = 3 THEN

PRINT "AJUSTE LINEAL"

END IF

PRINT "__________________"

PRINT "PENDIENTE RECTA DE REGRESION................ "; BETA

PRINT "ORDENADA RECTA DE REGRESION................. "; ALFA

PRINT "COEFICIENTE DE CORRELACION LINEAL DE PERSON. "; RXY

PRINT "VALOR F CONTRASTE REGRESION LINEAL.......... "; FSRXY

PRINT "G.D.L. F REG. LINEAL (num. y den.).......... "; GLS1, GLS2 + GLS3

GN% = GLS1: GD% = GLS2 + GLS3: VF! = FSRXY

PRINT "PROBABILIDAD DE F REGRESION................. ";

CALL DISTRIF(VF!, GN%, GD%)

PRINT "COEFICIENTE DE DETERMINACION................ "; RXY ^ 2

PRINT "VALOR F DEL CONTRASTE LINEALIDAD............ "; FLINEAL

PRINT "G.D.L. F linealidad (num. y den.)........... "; GLS2, GLS3

GN% = GLS2: GD% = GLS3: VF! = FLINEAL

PRINT "PROBABILIDAD DE F DE LINEALIDAD............. ";

CALL DISTRIF(VF!, GN%, GD%)

PRINT

PRINT

PRINT "Pulse cualquier tecla para terminar";

DO

TECLA$ = INKEY$

LOOP WHILE TECLA$ = ""

END

SUB DISTRIF (F!, gln%, gld%)

IF F! = 0 THEN

END

END IF

X = 1

IF F! < 1 THEN

A = gld%

B = gln%

C = 1 / F!

ELSE

A = gln%

B = gld%

C = F!

END IF

G1 = 2 / (9 * A)

G2 = 2 / (9 * B)

Y = ABS((1 - G2) * C ^ (1 / 3) - 1 + G1) / SQR(G2 * C ^ (2 / 3) + G1)

IF B < 4 THEN

Y = Y * (.08 * Y ^ 4 + 1 / B ^ 3)

END IF

X = .5 / (1 + .196854 * Y + .115194 * Y ^ 2 + .000344 * Y ^ 3 + .019527 * Y ^ 4) ^ 4

X = INT(10000 * X + .5) / 10000

IF F! < 1 THEN

X = 1 - X

END IF

PRINT X;

END SUB

*** SALIDA DEL PROGRAMA CON LOS DATOS QUE APARECEN EN LA TABLA 2

Número de estímulos presentados (clases): ? 20

Número de veces que se presenta cada estímulo: ? 7

ANALISIS DE VARIANZA DE LA REGRESION

Regresión Medias respecto ----------S1 = 180.572----------------1.000

reg. 0.251 ---------------------------S2 = 4.511 -----------------18.000

Intra clases 0.022 ---------------S3 = 2.675 ---------------120.000

Total-----------------------------------S4 = 187.757 -----------139.000

AJUSTE POTENCIAL

Pendiente recta de regresión ----------------------------7168561

Ordenada recta de regresión -----------------------------2.14921

Coeficiente de correlac. lineal de Pearson -----------9806783

Valor F constante regresión lineal --------------------3467.957

G.D.L. F REG. Lineal (num. y den.)--------------------- 1........ 138

Probabilidad de F regresión------------------------------------0

Coeficiente de determinación ---------------------------9617299

Valor F del contraste linealidad ------------------------11.24182

G.D.L. F linealidad (num. y den.)------------------------18......120

Probabilidad de F de linealidad ------------------------------------0

 

Notas

(1) Se hace referencia sólo a la última obra del autor, editada con carácter póstumo, pues es una síntesis clarificadora de su fructífera labor investigadora en el campo de la Psicofísica.

Birnbaum, M.H. (1973): The devil rides again: correlation as an index of fit. Psychological Bulletin, 79 (4), 239-242.

Cadwallader, M. (1973): A methodological examination of cognitive distance. En N.F. Preiser (Ed). Environmental design research. Stroudsburg, P.A.: Dowden, Hutchinson and Ross.

Fontes, S. (1988): Psicofísica de la estimación de distancias entre dos rectas verticales y paralelas. Tesis Doctoral no publicada. Madrid: UNED.

Johnston, J. (1984): Econometric Methods. N. York: McGraw-Hill.

Moreno, E. (1994): Análisis de los juicios psicofísicos con la técnica de estimación de magnitudes. Tesis Doctoral no publicada. Madrid: UNED.

Peña, D. (1987): Estadística. Modelos y métodos. Madrid: Alianza., Madrid.

Rodríguez Miñón, P. (1989): Ajuste de Funciones: Psicofísica. Tesis Doctoral no publicada. Universidad Autónoma de Madrid.

Rodríguez Miñon, P, Garriga, A. y Ponsoda, V. (1991): Opciones no lineales en las funciones psicofísicas. Psicológica, 12, 187-194.

Stevens, S. (1975): Psychophysics: Introduction to its Perceptual, Neural, and Social Prospects. Hove: John Wiley and Sons.

Weiss, D.J. (1981): The imposible dream of Fechner and Stevens. Perception, 10, 431-434.

Aceptado el 18 de octubre de 1995

Impact factor 2022:  JCR WOS 2022:  FI = 3.6 (Q2);  JCI = 1.21 (Q1) / SCOPUS 2022:  SJR = 1.097;  CiteScore = 6.4 (Q1)