479.1 Una cadena de trabajo con dependencias
Un equipo utiliza IA para proponer un modelo de seguimiento, escribir el código que lo simula y resumir la literatura pertinente. Obtiene así una hipótesis plausible, una simulación que parece confirmarla y una lista de referencias con formato académico impecable. Cada pieza puede ser útil, pero ninguna garantiza la validez de la que viene después. La hipótesis puede descansar en una lectura equivocada de un artículo, el código puede responder a una pregunta distinta de la formulada y la simulación puede limitarse a devolver los supuestos con que fue alimentada. Antes de interpretar los resultados como evidencia hay que reconstruir esas dependencias y averiguar qué parte del flujo aporta información nueva y qué parte se limita a transformar lo que ya estaba dentro.
Conviene separar desde el comienzo la contribución instrumental de la IA y la evidencia independiente. Escribir una ecuación ayuda a explorar un mecanismo, aunque no muestra que ese mecanismo opere en una población. Un programa que se ejecuta sin errores ha realizado ciertas operaciones, y queda por comprobar que correspondan al análisis que se quería hacer. Un resumen ayuda a localizar argumentos, pero su fidelidad debe contrastarse con el texto. La responsabilidad sobre lo que se afirma y sobre las verificaciones que lo respaldan sigue recayendo en quienes firman el trabajo.
Sandve y colaboradores (2013) propusieron diez reglas para la investigación computacional reproducible. Entre ellas figuran registrar cómo se produjo cada resultado, evitar las manipulaciones manuales de datos, archivar las versiones exactas de los programas externos, mantener bajo control de versiones los guiones propios y anotar las semillas aleatorias de los análisis que dependen del azar. Esas prácticas permiten reconstruir lo que se hizo y volver inspeccionable el recorrido, aunque no certifican su corrección, porque un cálculo equivocado puede reproducirse con total fidelidad. Morris, White y Crowther (2019) ofrecen un marco para planificar e informar estudios de simulación que organiza el diseño en torno a objetivos, mecanismos generadores de datos, estimandos, métodos y medidas de desempeño, con el acrónimo ADEMP. Ese marco resulta especialmente útil cuando el código se genera de forma automática y hay que establecer qué pregunta responde en realidad.
El caso que recorre el capítulo es una hipótesis sintética sobre la relación entre interacción con una herramienta y un resultado de seguimiento. No utiliza datos de pacientes ni estima efecto clínico alguno. Su propósito es mostrar que dos mecanismos distintos pueden generar la misma asociación observacional y consecuencias diferentes ante una intervención. El ejercicio permite verificar álgebra y programación sin pronunciarse sobre qué mecanismo describe un servicio real, pregunta que corresponde a la investigación empírica.
479.2 Formular una hipótesis que pueda fallar
Supongamos que el equipo observa una asociación entre la intensidad de interacción con una herramienta digital y un resultado favorable de seguimiento. Una propuesta generada automáticamente afirma que aumentar la interacción mejoraría el resultado. Antes de modelar nada hay que definir ambas variables y el sentido de la comparación. La interacción puede medirse como número de mensajes, como tiempo de uso o como actividades completadas, y el resultado puede referirse a un contacto efectivamente realizado o a una medida clínica posterior. Cambiar cualquiera de esas definiciones altera la pregunta aunque el enunciado general se mantenga, y un sistema que redacta con fluidez puede pasar de una a otra sin señalarlo.
Una hipótesis causal exige además describir una intervención concebible. Aumentar el número de mensajes enviados no equivale a aumentar la participación efectiva, y ninguna de las dos acciones garantiza que se reproduzca la relación observada entre personas que, por razones propias, decidieron participar más. El equipo debe precisar qué modificaría, en quiénes y durante cuánto tiempo. También necesita considerar las razones por las que interacción y resultado podrían compartir causas. La disponibilidad de tiempo, la motivación, el apoyo del entorno o las condiciones de atención son ejemplos de variables que podrían influir en ambas; aquí se mencionan como posibilidades que el diseño debe contemplar, sin afirmar nada sobre su efecto real.
Una hipótesis útil señala qué observaciones podrían contradecirla o restringir su alcance. Si la asociación desaparece al cambiar de contexto, cabe sospechar confusión o una dependencia de condiciones particulares. Si una intervención que efectivamente aumenta los mensajes no modifica el resultado, habrá que distinguir entre un mecanismo inexistente y una implementación deficiente, lo que a su vez obliga a haber medido la implementación. Una narrativa capaz de interpretar cualquier desenlace como confirmación carece de contenido empírico, por elaboradas que sean las ecuaciones y los gráficos que la acompañen.
La IA puede proponer mecanismos alternativos y ayudar a ordenar las preguntas. El equipo debe revisar si esas alternativas difieren de verdad o si reformulan el mismo supuesto con otro vocabulario, y conviene conservar las propuestas descartadas cuando explican por qué se eligió un diseño y no otro. Lo que interesa es identificar qué alternativas cambian la interpretación y qué información permitiría discriminarlas, una tarea que requiere conocimiento del proceso estudiado y que la coherencia verbal de una respuesta generada no puede suplir.
479.3 Comprobar una referencia antes de utilizarla
Una referencia bibliográfica tiene varias propiedades que deben verificarse por separado. El artículo puede existir y su DOI estar mal transcrito; los metadatos pueden coincidir y el contenido no respaldar la afirmación para la que se cita; el estudio puede sostener una conclusión acotada que el resumen generado extiende más allá de lo que los datos permiten. La comprobación empieza por la identidad bibliográfica, es decir, por confirmar que título, autores, año, revista y DOI corresponden al mismo trabajo, y continúa con la pertinencia. El DOI localiza un objeto editorial, pero no certifica que una frase concreta describa fielmente lo que ese objeto contiene.
Walters y Wilder (2023) pidieron a ChatGPT-3.5 y a ChatGPT-4 que redactaran revisiones breves sobre 42 temas multidisciplinarios y examinaron las 636 referencias contenidas en los 84 textos resultantes. En ese conjunto, el 55 % de las referencias producidas por GPT-3.5 y el 18 % de las producidas por GPT-4 correspondían a trabajos inexistentes. Entre las referencias a trabajos reales, el 43 % y el 24 %, respectivamente, presentaban errores sustantivos en campos como autoría, título, fecha, revista, paginación o editorial. El estudio no analizó por separado la exactitud de los DOI, de modo que no ofrece una tasa de error para ese campo. Los textos se generaron a comienzos de abril de 2023 con una plantilla de instrucción común para todos los temas.
Esos resultados justifican verificar las referencias propuestas automáticamente, pero no permiten asignar una tasa de error a modelos posteriores ni a otras tareas, ni demuestran que toda cita generada sea falsa. Entre los contextos en que el estudio se cita, consultados con Scite, aparecen trabajos que presentan sus dos porcentajes como un intervalo general aplicable a cualquier cita producida por IA, sin mencionar los modelos ni la tarea evaluada. La consecuencia práctica es verificar cada referencia efectivamente utilizada y conservar evidencia de su identidad y de su pertinencia.
Comprobar la pertinencia exige localizar la parte del artículo que sostiene la afirmación. Un estudio con viñetas clínicas puede informar el desempeño en esa tarea sin demostrar beneficio clínico longitudinal, y un análisis conceptual puede justificar distinciones sin estimar prevalencias. Registrar el tipo de evidencia que aporta cada fuente evita que una bibliografía heterogénea transmita una impresión de respaldo uniforme.
También deben revisarse las versiones y los avisos editoriales. Una prepublicación y el artículo final pueden compartir título y diferir en métodos o resultados, y una corrección puede afectar solo a la lista de autores o modificar una conclusión sustantiva. El registro de trabajo debería indicar qué versión se consultó y qué efecto tiene cualquier aviso sobre la afirmación que se apoya en ella. Cuando solo se ha accedido al resumen, la descripción debe limitarse a lo que el resumen permite comprobar; la falta de acceso al texto completo se declara y no autoriza a reconstruir su contenido por plausibilidad.
479.4 Herramientas de búsqueda y responsabilidad de lectura
Las integraciones de búsqueda y lectura ayudan a localizar publicaciones y recuperar pasajes, y sus respuestas también deben evaluarse. Una búsqueda por título puede devolver un trabajo relacionado pero distinto, y una búsqueda por DOI puede asociar una prepublicación con el artículo publicado. El registro de investigación debería distinguir entre haber encontrado un trabajo, haber accedido a él y haberlo leído, porque son eventos de alcance muy distinto.
Un flujo verificable conserva las consultas y las decisiones de inclusión. Si se usa Scite para comprobar metadatos, avisos editoriales y contextos de cita, y Undermind para interrogar el texto completo de un PDF, debe quedar claro qué obtuvo cada servicio y sobre qué versión del documento. No corresponde declarar una lectura completa cuando solo se recuperaron fragmentos, ni presentar una consulta fallida como si fuera una corroboración negativa. Las discrepancias entre herramientas se resuelven acudiendo a fuentes editoriales u otros documentos identificables. Durante la preparación de este capítulo, por ejemplo, uno de los servicios asignaba al tutorial de Morris y colaboradores un año anterior al del volumen en que apareció, mientras el registro editorial indicaba con claridad el volumen 38, número 11, de 2019; la referencia se fijó según este último. Cuando una discrepancia no puede resolverse, la referencia o la afirmación afectada debe limitarse o excluirse, dejando constancia del motivo.
Tampoco se mide la evidencia bibliográfica por el número de respuestas coincidentes. Dos herramientas pueden recuperar el mismo artículo y repetir una interpretación que procede de una fuente común. Esa coincidencia mejora la localización o la confirmación de identidad, pero no equivale a dos estudios independientes. La independencia depende de cómo se produjeron los datos y argumentos originales, de modo que una revisión debe distinguir entre publicaciones relacionadas, análisis sucesivos de una misma cohorte y trabajos que aportan observaciones nuevas. Que la información haya llegado por dos rutas informáticas distintas no dice nada sobre si procede de fuentes científicamente independientes.
479.5 Dos mecanismos con la misma asociación
Para el ejercicio matemático definimos variables continuas centradas y adimensionales, sin correspondencia con una escala clínica concreta. La interacción es la suma de dos componentes independientes y , ambos con distribución normal estándar. En el primer mecanismo, , el resultado depende directamente de la interacción con coeficiente uno, más un error independiente de varianza tres. En el segundo, , el componente influye a la vez sobre la interacción y sobre el resultado, y la interacción no tiene efecto directo sobre este.
En ambos mecanismos la varianza de es dos y la de es cinco. En , ; en , . La covarianza entre ambas variables también coincide, porque en el primer caso es y en el segundo es . La pendiente poblacional de la regresión simple de sobre vale, por tanto, uno en los dos casos. Como el par es en ambos una combinación lineal de variables normales independientes, su distribución conjunta es normal bivariada con la misma media y la misma matriz de covarianza, es decir, idéntica. Ningún aumento del tamaño muestral permite distinguir los dos mecanismos si solo se dispone de esas dos variables.
Las consecuencias de intervenir, en cambio, difieren. Fijar externamente la interacción en un valor equivale a sustituir la ecuación de por y dejar intactas las demás. En la media del resultado pasa a ser ; en la ecuación de no contiene a , de modo que su media sigue siendo cero sea cual sea el valor impuesto.
El efecto causal de la interacción es uno en el primer mecanismo y cero en el segundo. La diferencia se deduce de las ecuaciones estructurales y no está contenida en la distribución del par . Dos precisiones delimitan el resultado. La identidad completa de las distribuciones depende de la normalidad; con componentes no gaussianos, los momentos superiores podrían aportar información, aunque aprovecharla exigiría supuestos que también habría que defender. Además, si se midiera los mecanismos se distinguirían, porque en el resultado es independiente de una vez conocido , mientras que en es lo que deja de aportar información una vez conocido .
El ejemplo deja ver una forma frecuente de confirmación circular. Si un sistema propone el primer mecanismo, genera datos con esa ecuación y ajusta una regresión que recupera la pendiente uno, solo ha comprobado la coherencia entre generador y estimador, porque el segundo mecanismo, con efecto causal nulo, recupera exactamente la misma pendiente. Distinguirlos requiere supuestos defendibles con conocimiento del dominio, la medición de variables como o datos procedentes de un diseño que aporte información de otro tipo.
479.6 Verificar álgebra y código con un caso controlado
Antes de simular miles de muestras conviene construir un caso pequeño cuyo resultado pueda derivarse a mano. Tomemos las ocho combinaciones posibles de tres variables que valen menos uno o uno. En ese diseño factorial completo cada columna tiene media cero y varianza uno, y los productos cruzados promedian cero. El diseño reproduce, por tanto, los primeros y segundos momentos usados en la derivación, aunque no genera distribuciones normales. Sirve para comprobar álgebra y código; la afirmación sobre la igualdad completa de las distribuciones sigue dependiendo del supuesto normal de la sección anterior.
En el diseño factorial, la regresión simple de sobre da pendiente uno en ambos mecanismos. Si se incluye además como covariable, en el coeficiente de se anula y el de vale dos, mientras que en ocurre lo inverso: conserva coeficiente uno y recibe cero. El resultado muestra qué cambia cuando se dispone de una variable relevante bajo un mecanismo especificado. No indica que cualquier ajuste elimine la confusión en datos reales, donde la elección de covariables necesita una justificación causal propia.
El código siguiente separa la función que se quiere verificar de las comprobaciones. La función slope_with_intercept calcula la pendiente con intercepto mediante variables centradas y es la que luego se aplica en la simulación. Las comprobaciones comparan su salida con valores derivados a mano y con una implementación de estructura distinta, la de mínimos cuadrados de NumPy. Se incluye también una versión defectuosa a propósito, que omite el centrado, para mostrar que las pruebas son capaces de detectar ese error concreto.
import numpy as np
from itertools import product
def slope_with_intercept(x, y):
"""Pendiente de mínimos cuadrados de y sobre x con intercepto."""
xc, yc = x - x.mean(), y - y.mean()
return (xc @ yc) / (xc @ xc)
def slope_without_centering(x, y):
"""Implementación defectuosa a propósito: omite el centrado."""
return (x @ y) / (x @ x)
u, v, e = np.array(list(product([-1., 1.], repeat=3))).T
x = u + v
y1 = x + np.sqrt(3)*e
y0 = 2*u + e
target = np.array([[2., 2.], [2., 5.]])
assert np.allclose(np.cov(np.stack([x, y1]), bias=True), target)
assert np.allclose(np.cov(np.stack([x, y0]), bias=True), target)
assert np.isclose(slope_with_intercept(x, y1), 1)
assert np.isclose(slope_with_intercept(x, y0), 1)
design = np.column_stack([np.ones(8), x])
assert np.allclose(np.linalg.lstsq(design, y0, rcond=None)[0], [0, 1])
adjusted = np.column_stack([np.ones(8), x, u])
assert np.allclose(np.linalg.lstsq(adjusted, y0, rcond=None)[0], [0, 0, 2])
assert np.allclose(np.linalg.lstsq(adjusted, y1, rcond=None)[0], [0, 1, 0])
assert np.isclose(slope_with_intercept(x + 10, y0 + 7), 1)
assert np.isclose(slope_with_intercept(2*x, y0), .5)
assert np.isclose(slope_with_intercept(x, 3*u + e), 1.5)
assert np.isclose(slope_without_centering(x, y0), 1)
assert not np.isclose(slope_without_centering(x + 10, y0 + 7), 1)
print('Caso controlado verificado; la versión sin centrado falla al desplazar:',
round(slope_without_centering(x + 10, y0 + 7), 4))
Desplazar ambas variables en una constante no debe alterar la pendiente cuando hay intercepto, multiplicar por dos debe dividirla por dos y cambiar el coeficiente de de dos a tres en debe elevarla a 1,5. La versión sin centrado reproduce la pendiente correcta en el diseño factorial, cuyas columnas ya tienen media cero, y falla en cuanto se desplazan los datos, donde devuelve aproximadamente 0,7059. Las pruebas que alteran deliberadamente un supuesto son más informativas que repetir el mismo caso, y conviene revisar también las convenciones de varianza que una función generada automáticamente puede adoptar sin declararlo. Aquí np.cov se invoca con bias=True, que divide por el número de observaciones; con la opción por defecto dividiría por y la comparación con la matriz teórica fallaría en el diseño de ocho filas.
479.7 Diseñar una simulación y medir su incertidumbre
La simulación genera dos mil réplicas de doscientas observaciones para cada uno de los dos mecanismos normales. Siguiendo el esquema ADEMP, el objetivo es examinar el comportamiento de la pendiente de asociación y de un intervalo aproximado para ella. Los mecanismos generadores son los de la sección 479.5. El estimando es la pendiente poblacional de asociación, que vale uno en ambos. El método es la regresión lineal simple con intercepto, y las medidas de desempeño son la media de las pendientes estimadas y la cobertura del intervalo construido como estimación más o menos 1,96 errores estándar. Ese multiplicador procede de la aproximación normal; con 198 grados de libertad, el cuantil correspondiente de la distribución t de Student es 1,9720, de modo que la diferencia es pequeña en este escenario, aunque conviene declararla.
Generador, estimando y método quedan fijados antes de observar resultados. Dentro de cada réplica se usa la misma realización de , y para construir ambos mecanismos. Morris y colaboradores (2019) señalan que aplicar los métodos comparados a los mismos conjuntos simulados induce correlación entre sus resultados y puede reducir el error Monte Carlo de las comparaciones; esa dependencia afecta a la comparación entre mecanismos y no a la independencia entre réplicas. Los mismos autores recomiendan fijar la semilla una sola vez al comienzo y conservar los estados del generador, y Sandve y colaboradores (2013) incluyen el registro de las semillas entre sus reglas. La ejecución documentada usó la semilla 479 y NumPy 2.5.3. El código añade la pendiente de ajustada por , calculada mediante el teorema de Frisch-Waugh-Lovell, para comprobar por simulación lo que la sección 479.5 anticipó algebraicamente.
rng = np.random.default_rng(479)
replications, n = 2000, 200
u, v, e = rng.normal(size=(3, replications, n))
x = u + v
xc = x - x.mean(axis=1, keepdims=True)
uc = u - u.mean(axis=1, keepdims=True)
sxx = (xc*xc).sum(axis=1)
# Residuo de x tras ajustar por u (teorema de Frisch-Waugh-Lovell)
gamma = (xc*uc).sum(axis=1) / (uc*uc).sum(axis=1)
xr = xc - gamma[:, None]*uc
observed = {}
for name, y in [('M1', x + np.sqrt(3)*e), ('M0', 2*u + e)]:
yc = y - y.mean(axis=1, keepdims=True)
slope = np.array([slope_with_intercept(x[i], y[i])
for i in range(replications)])
residual = yc - slope[:, None]*xc
se = np.sqrt((residual**2).sum(axis=1) / (n - 2) / sxx)
coverage = np.mean(np.abs(slope - 1) <= 1.96*se)
adjusted_slope = (xr*yc).sum(axis=1) / (xr*xr).sum(axis=1)
observed[name] = {
'mean_slope': float(slope.mean()),
'mcse_mean': float(slope.std(ddof=1) / np.sqrt(replications)),
'association_coverage': float(coverage),
'mcse_coverage': float(np.sqrt(coverage*(1 - coverage) / replications)),
'fraction_excluding_zero': float(np.mean(slope - 1.96*se > 0)),
'mean_slope_adjusted_for_u': float(adjusted_slope.mean()),
}
assert abs(slope.mean() - 1) < .02
assert .92 < coverage < .98
print(name, observed[name])
assert np.isclose(observed['M1']['mean_slope'], 1.0005240447649515)
assert np.isclose(observed['M0']['mean_slope'], 1.0003050783315177)
assert np.isclose(observed['M1']['association_coverage'], .9495)
assert np.isclose(observed['M0']['association_coverage'], .943)
assert observed['M1']['fraction_excluding_zero'] == observed['M0']['fraction_excluding_zero'] == 1.0
assert abs(observed['M1']['mean_slope_adjusted_for_u'] - 1) < .02
assert abs(observed['M0']['mean_slope_adjusted_for_u']) < .02
En la ejecución registrada, la media de las pendientes es aproximadamente 1,00052 en y 1,00031 en , con errores Monte Carlo de 0,00196 y 0,00198, de modo que ambas diferencias respecto de uno quedan por debajo de su error de simulación. Las coberturas son 0,9495 y 0,9430, con errores Monte Carlo de 0,00490 y 0,00518, obtenidos como la raíz de . La dispersión empírica de las pendientes, cercana a 0,088, concuerda con el valor aproximado que se obtiene a mano, , porque la varianza residual de dado es tres en ambos mecanismos. Estas cantidades describen la incertidumbre de una simulación finita bajo un generador conocido y no expresan confianza alguna sobre qué mecanismo representa una población real.
Todos los intervalos de esta realización excluyen el cero en los dos mecanismos, lo que dentro de los mundos simulados constituye evidencia sólida de asociación. Leerlos como estimaciones de un efecto causal igual a uno sería un error en , donde ese efecto es nulo por construcción, y más réplicas o muestras mayores no lo corregirían, porque el problema reside en el estimando escogido. La pendiente ajustada por muestra la otra cara: su media es 1,0029 en y 0,0017 en . Con la causa común medida y el modelo estructural correcto, el ajuste separa los dos mecanismos.
479.8 Trazabilidad entre datos, código y conclusiones
Cada resultado debe poder enlazarse con sus entradas y con las transformaciones que lo produjeron. En el ejemplo, el registro mínimo incluye las ecuaciones generadoras, los parámetros, la semilla, el código ejecutado, la versión de las bibliotecas y la salida obtenida. También debe consignar de qué elemento procede cada afirmación. La igualdad de covarianzas proviene del álgebra y se comprueba en el caso controlado; las coberturas provienen de la simulación; la interpretación causal depende de las ecuaciones estructurales y no de ninguna cifra calculada. Sandve y colaboradores (2013) recomiendan conectar explícitamente los enunciados del texto con los resultados que los sustentan. Mantener esa correspondencia evita que una tabla numérica parezca respaldar afirmaciones que el cálculo nunca examinó.
| Afirmación | Dependencia principal | Comprobación apropiada | Límite |
|---|---|---|---|
| Ambas pendientes poblacionales son uno | Ecuaciones y momentos | Derivación y caso controlado | Condicionada a los mecanismos |
| Las distribuciones observadas coinciden | Normalidad y covarianzas iguales | Argumento matemático | No se deduce solo de datos finitos |
| La cobertura aproximada ronda el nivel previsto | Generador y estimador | Réplicas y error Monte Carlo | Solo escenarios simulados |
| Con medida, los mecanismos se distinguen | Modelo estructural correcto | Derivación y pendiente ajustada simulada | Exige medir la causa común sin error |
| Intervenir sobre la interacción mejora un resultado real | Diseño y datos externos | Evaluación empírica pertinente | No demostrada por este ejercicio |
Los archivos pueden identificarse mediante sumas criptográficas para comprobar que se analizan los mismos bytes. Una coincidencia de SHA-256 acredita que el contenido es idéntico al registrado, pero nada dice sobre su corrección científica ni sobre su autoría. La procedencia necesita además una explicación de cómo se produjo el archivo y qué representa. Si se modifica el código o los datos, el resultado debe regenerarse o quedar etiquetado como correspondiente a la versión anterior. Combinar una tabla antigua con una explicación redactada para una versión nueva rompe la cadena de procedencia, aunque ambos archivos existan y sean individualmente correctos.
479.9 Pruebas que buscan errores concretos
El código generado debe revisarse frente a una especificación independiente del propio código. En el ejemplo, la especificación establece una regresión con intercepto y varianzas calculadas sobre observaciones centradas. Como se vio en la sección 479.6, una implementación que omita el centrado puede coincidir con la correcta en un conjunto perfectamente simétrico y fallar en muestras ordinarias. Desplazar las variables en una constante y exigir que la pendiente no cambie examina una propiedad matemática pertinente y detecta toda una familia de errores, algo que no lograría comparar la función con otra copia de la misma lógica.
Las unidades y las escalas requieren la misma atención. Si la variable de interacción se multiplica por un factor positivo, la pendiente se divide por ese factor mientras las predicciones ajustadas permanecen idénticas; un programa que conservara la pendiente original estaría usando una variable distinta de la declarada. En un estudio real esas diferencias aparecen cuando la duración de uso se convierte en número de sesiones o cuando las puntuaciones se estandarizan, y la verificación debería incluir qué significa un cambio de una unidad en la escala utilizada.
Otros errores silenciosos proceden del orden y la alineación de las filas. Una tabla puede emparejar predicciones y valores de referencia de personas distintas si se pierde un identificador durante una unión, y el programa se ejecutará sin excepciones y producirá métricas plausibles. Una prueba útil reconstruye casos conocidos después de cada unión y comprueba que no aparezcan duplicados ni desaparezcan episodios inesperadamente; las exclusiones legítimas se documentan con sus motivos y recuentos.
La revisión independiente puede apoyarse en un cálculo manual pequeño o en una implementación de estructura diferente. Pedir a la misma herramienta que reafirme su respuesta ofrece una oportunidad de corrección, pero si el sistema repite el mismo supuesto equivocado el acuerdo crece sin que aumente la evidencia. En este capítulo, los momentos derivados a mano, el diseño factorial y la solución de mínimos cuadrados de NumPy proporcionan puntos de contraste externos a la simulación aleatoria, aunque todos siguen condicionados a las ecuaciones elegidas para el ejemplo.
479.10 Qué evidencia permitiría avanzar fuera de la simulación
Para estudiar el efecto de una política que aumente la interacción, el equipo podría diseñar una comparación prospectiva entre formas de ofrecer seguimiento, siempre que el contexto permita hacerlo de manera éticamente apropiada. La intervención debería definirse antes de observar resultados y mantener para todos los participantes una alternativa asistencial adecuada. Asignar aleatoriamente la política aportaría información distinta de la asociación espontánea, porque independiza la asignación de sus causas previas, no necesariamente la participación efectiva. Con todo, el efecto de ofrecer una política no coincide necesariamente con el efecto de cada mensaje adicional.
La participación efectiva puede apartarse de la asignación. Algunas personas asignadas a la oferta adicional no la utilizarán y otras buscarán interacción por vías ajenas al protocolo. Comparar únicamente a quienes cumplieron la propuesta puede reintroducir la selección que la asignación pretendía evitar, porque la participación depende de circunstancias relacionadas con el resultado. La IA puede sugerir análisis alternativos, pero corresponde al equipo justificar qué estimando conserva una interpretación defendible.
El resultado también puede observarse de manera diferente según el grupo. Una política que aumenta el contacto puede detectar problemas que antes quedaban sin documentar, de modo que una mayor frecuencia registrada no demostraría por sí sola un empeoramiento. El protocolo necesita procedimientos de medición comparables entre grupos y un análisis de las pérdidas de seguimiento. Este problema enlaza el diseño empírico con la predicción performativa, en la que desplegar una herramienta modifica a la vez lo que ocurre y la posibilidad de conocerlo.
La evaluación debería incluir efectos ajenos al beneficio buscado. Una intervención puede mejorar el resultado principal y aumentar al mismo tiempo la carga de los usuarios o las desigualdades de acceso. Esos efectos requieren medidas específicas, y simularlos con parámetros escogidos para que el balance siga siendo favorable no sustituye su medición. Los escenarios simulados ayudan a decidir qué observar, mientras que la evidencia posterior indica si las consecuencias previstas aparecen y con qué magnitud.
479.11 Selección de resultados y ajuste a la evidencia disponible
La asistencia automática facilita generar muchas variantes de una hipótesis y probar numerosas transformaciones de los datos, lo que aumenta la necesidad de registrar qué análisis se ensayaron. Simmons, Nelson y Simonsohn (2011) mostraron, mediante simulaciones y dos experimentos, que la flexibilidad no declarada en la recolección, el análisis y la comunicación de datos eleva la tasa de falsos positivos muy por encima del nivel nominal, y propusieron como remedio requisitos de transparencia para autores y revisores. Si solo se conserva la variante que produjo un resultado favorable, el informe presenta una selección como si hubiera sido la única pregunta. Las exploraciones posteriores pueden generar hipótesis valiosas, siempre que se declaren como tales y se distingan de los análisis especificados de antemano.
La separación entre desarrollo y evaluación debe abarcar todas las decisiones adaptativas. Kapoor y Narayanan (2023) documentaron la filtración de información entre datos de entrenamiento y de prueba en 294 artículos de 17 disciplinas que emplean aprendizaje automático, cifra que presentan como un límite inferior. Entre las formas que describen figuran el preprocesamiento conjunto de ambos conjuntos y la selección de variables sobre la totalidad de los datos, y subrayan que la filtración puede originarse en decisiones de recolección, muestreo y preparación, no solo en errores de programación. Un conjunto de prueba deja de ofrecer una evaluación independiente si sus resultados se consultan repetidamente para ajustar instrucciones, escoger modelos o modificar umbrales. Aunque el código de entrenamiento nunca lea ese archivo, el equipo puede trasladar al diseño lo que observó en él, de modo que la trazabilidad debería registrar esas consultas y reservar datos para una evaluación posterior.
En la simulación ocurre algo semejante cuando los escenarios se eligen después de comprobar qué método parece funcionar mejor. Un estudio comparativo necesita justificar el rango de mecanismos y parámetros en función de su objetivo e incluir condiciones en las que los métodos podrían fallar. Morris y colaboradores (2019) distinguen, en ese sentido, los estudios de prueba de concepto de los que buscan forzar o quebrar un método, y recomiendan explicitar esa elección al planificar. El ejemplo de este capítulo usa dos mecanismos para estudiar identificación y coherencia computacional, sin pretender comparar estimadores. Extender sus conclusiones a la superioridad de un método requeriría otros escenarios, otras medidas de desempeño y una pregunta de investigación distinta.
La incertidumbre Monte Carlo indica cuánto aportaría ejecutar más réplicas. Para una proporción estimada, como la cobertura, depende del valor de la proporción y del número de réplicas independientes, y disminuye con la raíz cuadrada de ese número. Aumentar las réplicas reduce el error de simulación, pero no corrige un mecanismo poco pertinente ni una medida de desempeño mal definida. Por eso conviene decidir qué precisión necesita la comparación antes de destinar recursos adicionales. Una diferencia menor que la variabilidad de simulación merece cautela, y una diferencia estimada con gran precisión puede seguir siendo irrelevante fuera de las condiciones artificiales que la produjeron.
479.12 Un expediente de evidencia revisable
El expediente de investigación puede organizarse por afirmaciones, en lugar de reducirse a una carpeta de artículos y programas. Para cada conclusión registra la fuente o el cálculo que la sustenta, las condiciones de las que depende y la comprobación efectuada. Una afirmación sobre un resultado publicado necesita el pasaje correspondiente y el contexto del estudio, mientras que una afirmación numérica propia exige las entradas y el procedimiento. Organizado de este modo, el expediente deja ver qué conclusiones carecen de respaldo, aunque el proyecto acumule muchos archivos sobre el tema.
Una anotación bibliográfica bien hecha distingue, por ejemplo, que se localizó el DOI de un artículo, que se recuperó su resumen y que no fue posible acceder al texto completo. Una anotación así permite aprovechar lo comprobado sin simular una lectura que no ocurrió. Si más adelante se obtiene el texto completo, la ficha se actualiza y se revisan las afirmaciones que dependen de ella. El acceso parcial no obliga a desechar la información disponible, aunque limita los detalles metodológicos que pueden describirse con seguridad.
La ausencia de un resultado de búsqueda debe interpretarse con cautela. Una consulta puede fallar por la cobertura de la base, por la forma en que se escribió el título o por errores en los metadatos, sin que eso demuestre que el trabajo no exista. Tampoco autoriza el hallazgo de una referencia parecida a sustituir en silencio la que se buscaba. Si la duda persiste tras los intentos de desambiguación, la identidad no resuelta debe quedar fuera de cualquier afirmación que requiera certeza bibliográfica.
El expediente debe consignar también los límites de alcance. Haber verificado artículos concretos no convierte el trabajo en una revisión sistemática, y haber consultado los avisos editoriales de ciertas publicaciones no permite inferir su ausencia en otras. Las afirmaciones sobre el propio proceso de investigación son verificables y merecen el mismo cuidado que las conclusiones científicas.
La recuperación del trabajo después de una interrupción admite el mismo tratamiento. Antes de continuar, el equipo comprueba la identidad de los archivos y el último punto válido, lo que evita regenerar resultados sobre versiones diferentes. Un resultado numérico recuperado sin sus parámetros ni la definición del estimando puede ser legible y, aun así, inútil para una reconstrucción científica. Las pequeñas diferencias entre ejecuciones exigen además una política de comparación explícita. En aritmética de coma flotante la igualdad exacta puede fallar aunque los resultados sean equivalentes dentro de una tolerancia justificada, mientras que un cambio en la identidad de los participantes o en la versión de los datos nunca debe tratarse como una aproximación inocua. En el ejercicio, las comprobaciones algebraicas usan tolerancias estrechas y la simulación fija la realización aleatoria, de modo que los resultados pueden contrastarse con los registrados.
479.13 Responsabilidad sobre el texto científico
La redacción asistida puede introducir generalizaciones que el análisis no contiene. Una frase como «la simulación confirma la eficacia» convierte una coherencia condicional en evidencia empírica. La revisión debe contrastar cada conclusión con el diseño que la sostiene y prestar atención a los verbos causales, a la población de referencia y a las expresiones de certeza. En el caso desarrollado, la formulación defendible es que la simulación reproduce las propiedades derivadas para dos mecanismos especificados; cualquier frase que hable de mejorar resultados en personas reales excede lo que el ejercicio examinó.
La responsabilidad autoral incluye declarar las contribuciones instrumentales y los límites de las comprobaciones. Usar IA para proponer código no exime de comprenderlo lo suficiente como para explicar sus decisiones relevantes, y una parte del análisis que no ha podido verificarse debe resolverse o declararse antes de servir como fundamento de una conclusión. El criterio práctico es que otra persona pueda reconstruir y discutir el recorrido entre la pregunta, la evidencia y cada afirmación.
El flujo de trabajo examinado conserva la utilidad de la IA para proponer alternativas y automatizar tareas, y sitúa la validación en comprobaciones que no dependen de la herramienta que generó el material. La hipótesis causal sobre interacción y resultado sigue abierta a la investigación empírica, mientras que la simulación establece propiedades de dos mecanismos definidos de antemano. Las referencias citadas sostienen orientaciones metodológicas delimitadas y no se presentan como prueba del ejemplo sintético.
Referencias
Kapoor, S., y Narayanan, A. (2023). Leakage and the reproducibility crisis in machine-learning-based science. Patterns, 4(9), 100804. https://doi.org/10.1016/j.patter.2023.100804
Morris, T. P., White, I. R., y Crowther, M. J. (2019). Using simulation studies to evaluate statistical methods. Statistics in Medicine, 38(11), 2074–2102. https://doi.org/10.1002/sim.8086
Sandve, G. K., Nekrutenko, A., Taylor, J., y Hovig, E. (2013). Ten simple rules for reproducible computational research. PLOS Computational Biology, 9(10), e1003285. https://doi.org/10.1371/journal.pcbi.1003285
Simmons, J. P., Nelson, L. D., y Simonsohn, U. (2011). False-positive psychology: Undisclosed flexibility in data collection and analysis allows presenting anything as significant. Psychological Science, 22(11), 1359–1366. https://doi.org/10.1177/0956797611417632
Walters, W. H., y Wilder, E. I. (2023). Fabrication and errors in the bibliographic citations generated by ChatGPT. Scientific Reports, 13, 14045. https://doi.org/10.1038/s41598-023-41032-5