¿Cuál es una medida apropiada de determinación en los estudios genéticos?

Pregunta principal

¿Cuál es una medida apropiada de determinación en los estudios genéticos?

Solía ​​pensar eso R 2 era tal medida, pero ya no estoy tan seguro. En concreto, parece que R 2 infravalora la baja determinación y sobrevalora la alta determinación.

La razón de mi duda en R 2 proviene de la siguiente simulación.

modelo sencillo

Para simplificar, supongamos que una característica como la altura (peso, cociente de inteligencia, cociente de autismo, etc.) de un individuo se hereda de una madre y un padre de la siguiente manera:

(fathersHeight * fathersInfluence + mothersHeight * (1 - fathersInfluence))/2,

donde fathersInfluencees una constante entre 0 y 1.

Para dar un ejemplo específico, si la madre mide 170 cm y el padre mide 190 cm , y fathersInfluencemide 0,5, entonces sabemos que su hijo medirá exactamente 180 cm .

Supongamos además que solo podemos medir la característica de cualquier padre y cualquier hijo. No podemos medir la característica de cualquier madre.

Digamos que vamos a tratar de predecir la altura del hijo a partir de la altura del padre usando una regresión lineal buena y antigua, y reportar cuánto de la altura del hijo se determina a partir de la altura del padre. Esto se puede hacer con bastante facilidad en python

_, _, r_value, _, _ = scipy.stats.linregress(fathers, sons)

Toda la simulación se puede envolver en la siguiente función de Python:

def sonsHeight(sampleSize, fathersInfluence=0.5):
    # loc = mean
    # scale = standard deviation
    fathers = scipy.stats.norm.rvs(loc=170, scale=10, size=sampleSize)
    mothers = scipy.stats.norm.rvs(loc=170, scale=10, size=sampleSize)

    def weightedAvg(fathersHeight, mothersHeight):
        return (fathersHeight * fathersInfluence + mothersHeight * (1 - fathersInfluence))/2

    sons = [weightedAvg(father, mother) for father, mother in zip(fathers, mothers)]

    _, _, r_value, _, _ = scipy.stats.linregress(fathers, sons)
    return r_value ** 2

Si tomamos, fathersInfluence = 0.5esperaría que cualquier medida de determinación exitosa informara que la altura del padre determina la altura del hijo en un 50%. R 2 pasa esta verificación, ejecutar la simulación con 1 millón de hijos y padres da:

>>> size = 1000000
>>> print(sonsHeight(size, fathersInfluence=0.5))
>>> 0.500071151111

lo que parece tranquilizador. Sin embargo, los valores de R 2 para fathersInfluencecualquier diferente de 0,5, parece converger en probabilidad a valores inesperados. De hecho, ejecutando el experimento 101 veces, para valores de fathersInfluence0 a 1 en pasos de 0,01, obtenemos la siguiente curva agradable, que tranquilizadoramente pasa cerca de ( 0 , 0 ) y ( 1 , 1 ) , ¡pero sorprendentemente no es una línea recta!

Una curva en forma de S, con influencia del padre en el eje x y R^2 en el eje y, que va desde (0,0) pasando por (1/2) hasta (1,1)

Sin embargo, se vuelve más perturbador cuando valores particulares de R 2 se miran, especialmente para fathersInfluencecerca de 0 o cerca de 1 (todos R 2 provienen de tomar una muestra de 1 millón).

En particular, para valores pequeños de fathersInfluence, digamos

0.01 , 0.02 , 0.03

los valores de R 2 mirar de cerca

0.01 2 , 0.02 2 , 0.03 2 .

Incluso para fathersInfluencede 0.1 El valor de R 2 está apenas por encima 1 % !

fathersInfluence, R^2
0.01, 7.3243188318051775e-05
0.02, 0.00042435668897930067
0.03, 0.00097257546851807486
..., ...
0.1, 0.012287962714812851
..., ...
0.97, 0.99904501126494283
0.98, 0.9995837493389228
0.99, 0.99989808360606525

Preguntas

  1. ¿Hay una medida de determinación, que en contra fathersInfluenceme daría una buena línea recta que pasa a través de ( 0 , 0 ) , ( 1 / 2 , 1 / 2 ) y ( 1 , 1 ) ?
  2. ¿Sería deseable tal medida?
  3. ¿Qué otras medidas de determinación se pueden utilizar, especialmente cuando la determinación es baja?

Observaciones

Me doy cuenta de que el modelo presentado de cómo funciona la genética es probablemente demasiado simplista y tal vez no sea útil como se indica. Sin embargo, creo que se parece a un buen modelo para la genética en varios aspectos:

  1. Tenemos algo que podemos medir (por ejemplo, el nivel de expresión génica) y estamos observando como ruido aleatorio cosas importantes que no podemos medir (factores ambientales).
  2. La variable independiente (nivel de expresión génica) puede influir ligeramente en la variable dependiente (altura, coeficiente intelectual, etc.).

Se puede acceder a todo el código utilizado para ejecutar esta simulación en github .

Respuestas (1)

altura de los padres * influencia de los padres + altura de las madres * (1 - influencia de los padres))/2

es un modelo terrible para la genética. Dice que las contribuciones genéticas de los dos padres están exactamente anticorreladas. De hecho, son esencialmente independientes. Creo que lo que estás buscando es la noción de heredabilidad .

El modelo no es anticorrelacionado, ya que fathersInfluencees un número real en el intervalo [ 0 , 1 ] y el rasgo de cada padre se correlaciona positivamente con el rasgo de la descendencia.
Tu modelo dice que cuanto mayor sea la influencia del padre, menor será la influencia de la madre. La genética rara vez funciona de esa manera. Puede estar pensando en algún tipo de modelo de dominancia para un solo locus, pero la altura es un rasgo complejo que involucra muchos genes. Si el padre contribuye con una versión del gen A que mejora la estatura y la mamá contribuye con una versión del gen B que mejora la estatura, las contribuciones de los dos genes normalmente serán aditivas pero independientes entre sí. Le insto a que lea el artículo Wiki que vinculé también para ver los conceptos básicos de un modelo genético real.
Gracias, ciertamente estudiaré la herencia con buen detalle. Tal vez no he expresado mi punto muy claramente. mothersHeightestá destinado a ser prácticamente cualquier cosa que no podamos medir (factores ambientales y otros factores fuera de nuestro estudio). fathersHeightes lo que podemos medir (nivel de expresión de un gen en particular). fathersHeightobviamente va a tener una influencia muy pequeña en el resultado total de la característica (¡la mayoría de los genes la tienen al final!), en el rango de 1-2%. El punto que estoy planteando es que R^2 subestimará esta influencia por un factor de ~ 100 para la influencia del 1 %.
Es muy posible (¡y esperado!), y definitivamente lo comprobaré, que la herencia no sufra este problema.