1 votos

Regresión: preguntas muy básicas

Estoy a punto de aplicar la regresión. Como estoy analizando por mi cuenta, y tengo casi cero conocimientos prácticos de estadística, dudo mucho de mí mismo (además, los resultados que he obtenido hasta ahora parecen "raros"), por lo que sería estupendo que me dedicarais tiempo a validar si lo que estoy haciendo tiene sentido.

He registrado la actividad EEG humana (señal EEG) a través de una guía de electrodos 50x50 mientras se realizaban 3 tareas de fuerza diferentes y separadas (fuerza registrada por sensores de fuerza). Ahora quiero comprobar si es posible predecir la fuerza ejercida para todas las tareas a partir de la señal, utilizando la regresión lineal, es decir, mi variable de predicción es la característica de la señal y mi variable de respuesta es la fuerza. El objetivo del análisis es la predicción para el control de dispositivos robóticos.

Empecé calculando la RMS en una ventana de 100 ms, centrada alrededor del pico de actividad detectado en la señal; calculé la RMS para todos los picos detectados en todos los electrodos, de modo que como resultado obtuve una matriz de 50xn (donde n es el número de picos detectados) valores RMS. Ahora, quiero utilizar este RMS como una característica para mi regresión.

Estoy utilizando Matlab como software. Con eso, he leído que si sólo quiero ver la línea simple (ajuste) de regresión, debo utilizar scatterplot - así que hago eso. Mis entradas para el scatterplot(x,y) son dos vectores: x es mi variable independiente - vector concatenado con todos los valores RMS de todos los electrodos, e y es una variable dependiente - es decir, vector de fuerza. Durante una tarea, obtengo el registro de fuerza para todas las 3 fuerzas posibles, pero estoy interesado en sólo una - por lo tanto como mi y utilizo el registro de fuerza interpolado sólo de la fila 1 de mi matriz de 3 filas de fuerzas registradas durante una tarea. ¿Es correcto? Los resultados son un poco extraños, es decir, obtengo dos conglomerados y no entiendo muy bien por qué: enter image description here

He leído que en casos similares algunos investigadores utilizaban simplemente un vector de 0s y 1s como vector de fuerza, es decir, concatenaban las 3 filas de fuerza obtenidas de la grabación de una tarea, y en lugar de valores reales, introducían 1s para la "fuerza" del grado de libertad que se suponía que estaba activo durante esta tarea, y 0s para los otros grados de libertad. Si intento hacerlo, mi gráfico no tiene ningún sentido.

Además, intenté obtener un modelo de regresión lineal para mis datos, así que utilicé una función fitlm en Matlab: mdl = fitlm(X,y) que devuelve un modelo lineal de las respuestas y, ajustado a la matriz de datos X. Como mi X introduje la matriz nx50 de mi RMS que describí antes (sólo estas dimensiones funcionarían con la entrada; ¿debería cambiarlo?), y como mi y - un vector de 1 grado de libertad activado-registro de fuerza, interpolado linealmente a la longitud de n; en este caso, n=807. El gráfico del modelo es similar al gráfico de dispersión, y no estoy muy seguro de cómo interpretar los resultados que obtengo:

mdl = 

Linear regression model:
    y ~ [Linear formula with 51 terms in 50 predictors]

Estimated Coefficients:
                    Estimate          SE          tStat        pValue  
                   ___________    __________    _________    __________

    (Intercept)         2.0358       0.40881       4.9798    7.9229e-07
    x1               0.0002986     0.0018282      0.16333        0.8703
    x2               0.0011608     0.0018329      0.63332       0.52672
    x3              -0.0006957     0.0014842     -0.46872       0.63941
    x4               0.0005773     0.0019618      0.29428       0.76863
    x5              -0.0014016     0.0016736     -0.83748       0.40259
    x6               0.0008415     0.0021559      0.39032       0.69641
    x7               0.0023311     0.0021785         1.07       0.28495
    x8              -0.0010117     0.0014618     -0.69211       0.48909
    x9              -0.0013399     0.0018555     -0.72216       0.47042
    x10             0.00037971     0.0015525      0.24458       0.80685
    x11             -0.0011698     0.0021935     -0.53333       0.59396
    x12             0.00090134      0.002039      0.44204       0.65859
    x13              0.0007281     0.0019253      0.37817       0.70541
    x14               -0.00176     0.0023688     -0.74302       0.45771
    x15             -0.0001714    0.00015333      -1.1178         0.264
    x16            -0.00081656     0.0021379     -0.38194       0.70261
    x17             0.00028961     0.0022877      0.12659        0.8993
    x18             0.00034583     0.0025499      0.13563       0.89215
    x19             0.00096935     0.0027414      0.35359       0.72374
    x20             -0.0014632     0.0023052     -0.63474        0.5258
    x21            -0.00011716     0.0020946    -0.055934       0.95541
    x22            -4.3298e-05     0.0015385    -0.028142       0.97756
    x23                      0             0          NaN           NaN
    x24             0.00087342     0.0017931       0.4871       0.62633
    x25            -0.00016198     0.0017182    -0.094271       0.92492
    x26               0.001866     0.0028545      0.65372        0.5135
    x27             -0.0041428     0.0030668      -1.3509       0.17715
    x28              0.0040645     0.0026273        1.547       0.12228
    x29            -0.00034988     0.0015693     -0.22296       0.82363
    x30              0.0013504     0.0017023      0.79331       0.42785
    x31             -0.0025312      0.001922      -1.3169       0.18827
    x32             0.00028483      0.003016     0.094437       0.92479
    x33             0.00022888     0.0035227     0.064971       0.94821
    x34              0.0027619     0.0035508      0.77781       0.43693
    x35             0.00011421     0.0020253     0.056392       0.95504
    x36             -0.0025744     0.0029528     -0.87185       0.38357
    x37             0.00061687     0.0032126      0.19201       0.84778
    x38            -0.00046412     0.0031713     -0.14635       0.88368
    x39              0.0011324     0.0034385      0.32933         0.742
    x40              0.0026773     0.0033099      0.80887       0.41885
    x41              -0.002997     0.0034798     -0.86124       0.38938
    x42             6.2557e-05     0.0019034     0.032866       0.97379
    x43            -3.9703e-05     0.0023244    -0.017081       0.98638
    x44             0.00052333     0.0027785      0.18835       0.85065
    x45                      0             0          NaN           NaN
    x46            -0.00076091      0.002463     -0.30894       0.75745
    x47             -0.0024118      0.003266     -0.73847       0.46046
    x48                      0             0          NaN           NaN
    x49             -0.0011203     0.0027911     -0.40137       0.68826
    x50             0.00048973       0.00171      0.28639       0.77466

Number of observations: 807, Error degrees of freedom: 745
Root Mean Squared Error: 0.649
R-squared: 0.0508,  Adjusted R-Squared -0.027
F-statistic vs. constant model: 0.653, p-value = 0.981

¿Tiene sentido el elevado número de interceptaciones? ¿Debería trazar las cosas de otra manera? ¿Qué opinas de los dos grupos extraños que he obtenido? ¿Estoy entendiendo mal las cosas? enter image description here

Gracias de antemano por vuestra ayuda, como veis estoy bastante confuso con algo sencillo.

0voto

science Puntos 1

R-cuadrado: 0,0508, R-cuadrado ajustado -0,027 Estadístico F frente a modelo constante: 0,653, valor p = 0,981

Aquí tienes un buen resumen de cómo va tu modelo.

R-cuadrado debe ser cercano a 1 para que un modelo sea "bueno", en un forma lineal (más sobre esto más adelante), por lo que su modelo lo está haciendo bastante mal. Pero eso no significa necesariamente que tus X no estén relacionadas con tus y, simplemente la regresión lineal no es un buen "ajuste".

p-valor este es un valor que se obtiene de una prueba estadística que prueba una comparación entre su modelo y un modelo costant (un modelo realmente ficticio), si es un valor cercano a cero (normalmente por debajo de 0,05), su modelo está funcionando mejor que un modelo ficticio (es como "al menos estoy mejor con mi modelo que con un simple costant"). Como puede ver, lamentablemente no es el caso.

Sólo estos dos valores deberían indicar con bastante facilidad cómo lo estás haciendo. Además, la línea roja de tu gráfico muestra que no estamos ajustando del todo bien los puntos azules.

Probablemente un modelo lineal no es el caso aquí, así que aquí está tu opción si todavía quieres hacer la regresión: Regresión logística .

En realidad, la regresión logística se utiliza bastante cuando se tiene una respuesta (y) que toma dos valores 0 ó 1. Por suerte, muchos programas estadísticos la implementan fácilmente, así que no tendrás problemas para encontrar ejemplos incluso en Matlab.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X