2023 "Huawei Cup" Competição de modelagem matemática de pós-graduação chinesa (pergunta E) Análise aprofundada | Código completo de modelagem matemática + análise completa do processo de modelagem


Insira a descrição da imagem aqui

Pergunta um

Modelagem de exploração de fatores relacionados ao risco de expansão do hematoma

Ideia:

De acordo com os requisitos da pergunta, primeiro é necessário determinar se ocorreu um evento de expansão do hematoma em cada paciente. Por definição, considerou-se que a expansão do hematoma ocorreu se o volume do hematoma nos exames subsequentes aumentasse ≥6 mL ou ≥33% em comparação com o exame inicial.
Etapas específicas de julgamento:
(1) Extrair o número de série do primeiro exame de imagem de cada paciente na admissão da Tabela 1;

(2) Encontre o momento correspondente à primeira inspeção no Apêndice 1 com base no número de série;

(3) Calcular o intervalo de tempo desde o início até o primeiro exame;

(4) Encontre o volume do hematoma em cada momento de acompanhamento na Tabela 2;

(5) Calcular a variação do volume do hematoma e a porcentagem de variação entre dois exames consecutivos em sequência;

(6) Se a quantidade de alteração for ≥6 mL ou a porcentagem de alteração for ≥33%, ela é registrada como expansão do hematoma e o momento em que ocorre a expansão do hematoma é registrado.

3. Usar modelagem de regressão logística, considerando se a expansão do hematoma ocorre como variável alvo, e histórico pessoal, histórico de doença e primeiras características de imagem como variáveis ​​independentes para estabelecer um modelo de predição.

Variável alvo: Y = se ocorre expansão do hematoma (1 sim, 0 não)

Variáveis ​​independentes: X1, X2, …, Xn (história pessoal, história de doença, etc.)

Fórmula de modelagem: P(Y=1|X) = 1 / (1+e^-(b0+b1X1+…+bnXn))

4. Use o conjunto de treinamento para ajustar o modelo de regressão logística

(1) Organizar a história pessoal, a história da doença e as primeiras características de imagem do conjunto de treinamento em variáveis ​​independentes X

(2) Use a marca de expansão do hematoma (1 ou 0) do conjunto de treinamento como variável alvo Y

(3) Insira a variável independente X e a variável alvo Y no modelo de regressão logística para ajuste

(4) Use a estimativa de máxima verossimilhança para obter os coeficientes das variáveis ​​b0, b1,…, bn

(5) Obtenha o modelo ajustado:

P(Y=1|X) = 1 / (1+e^-(b0+b1X1+…+bnXn))

5. Use o modelo ajustado para prever o conjunto de teste

(1) Execute a mesma engenharia de recursos nos dados do conjunto de teste e extraia a variável independente X

(2) Substitua a variável independente X do conjunto de teste no modelo obtido acima

(3) Calcule a probabilidade de expansão do hematoma P(Y=1|X) de cada amostra

(4) Se P(Y=1|X) ≥ 0,5, prevê-se que a amostra apresente expansão de hematoma.

(5) Calcule os indicadores de avaliação do modelo no conjunto de teste, como AUC, etc.

(6) Analisar a correlação entre as variáveis ​​e a expansão do hematoma com base no tamanho dos coeficientes das variáveis

import pandas as pd
from sklearn.linear_model import LogisticRegression

# 读取表1和表2中的数据
table1 = pd.read_excel('表1.xlsx') 
table2 = pd.read_excel('表2.xlsx')

# 将表1和表2进行合并
data = pd.merge(table1, table2, on='ID')

# 提取需要的特征
features = ['age', 'gender', 'history', ...] 

# 获得每个患者的首次影像时间和血肿体积
first_scan = data.groupby('ID')['time'].min()
first_volume = data[data['time'] == first_scan]['HM_volume']  

As principais etapas do código incluem:

Ler e mesclar tabelas
Engenharia de recursos
Rotular variáveis ​​​​de destino
Dividir conjunto de treinamento e conjunto de teste
Treinamento e previsão do modelo
Resultados de saída
Aqui usamos xgboost para treinar o modelo:

As principais etapas são:

Importe xgboost
e defina os parâmetros de xgboost:
eta: taxa de aprendizagem
max_profundidade: profundidade máxima da árvore
objetivo: regressão logística binária
eval_metric: defina o indicador de avaliação para AUC.
Converta os dados de treinamento para o formato DMatrix.
Use xgboost para treinar o modelo.
Converta os dados de teste para o formato DMatrix.
Use o modelo treinado para prever
os resultados de saída.
XGBoost é uma biblioteca de modelo de árvore popular e eficiente que pode extrair relacionamentos de recursos complexos de dados.

Comparado à regressão logística, o XGBoost pode lidar com vários tipos de recursos e também é conveniente para ajustar parâmetros e otimizar o modelo.

Questão 2

Modele a ocorrência e progressão do edema perihematoma e explore a relação entre intervenção terapêutica e progressão do edema.

Para construir um modelo de mudança de volume de edema ao longo do tempo
, você pode usar o método Curve Fitting, usando o tempo como variável independente e o volume de edema como variável alvo, para ajustar um modelo de curva de mudança de volume de edema ao longo do tempo:

VED = f ( t ) V_{ED} = f (t)VE D=f ( t )

Entre eles, VED V_{ED}VE Drepresenta o volume do edema, ttt representa o tempo.

Você pode tentar diferentes métodos de ajuste de curva, como regressão linear, regressão polinomial, regressão local ponderada, etc.

Calcule o resíduo entre o valor verdadeiro do paciente e a curva ajustada
para a i-ésima amostra:

ri = VED i − f ( ti ) r_i = V_{ED_i} - f(t_i)Reu=VE- Deu-f ( teu)

Entre eles, VED i V_{ED_i}VE- Deué o verdadeiro volume do edema da i-ésima amostra, f (ti) f (t_i)f ( teu) é o valor adequado no ponto de tempo correspondente.

Divida subgrupos de pacientes e ajuste as curvas de volume de edema de cada subgrupo. Você
pode usar um algoritmo de agrupamento como K-means para agrupar pacientes e, em seguida, ajustar uma curva separada para cada grupo.

Para analisar o impacto de diferentes tratamentos na evolução do edema,
métodos de tratamento podem ser usados ​​como características de categoria, diferentes modelos de curvas podem ser construídos e então os efeitos do modelo podem ser comparados.

As diferenças nas alterações do volume do edema em diferentes grupos de tratamento também podem ser comparadas através de métodos estatísticos (como o teste t).

Analise a relação entre os três.
Métodos estatísticos como a análise de correlação podem ser usados ​​para explorar a relação entre o volume do hematoma, o volume do edema e o tratamento.

Você também pode construir um modelo de previsão que inclua os três recursos e descobrir a correlação entre os três analisando coeficientes.
Especificamente , o método de análise de correlação
(1) calcula a representação 0/1 do volume do hematoma, volume do edema e várias modalidades de tratamento para cada amostra

(2) Use o coeficiente de correlação de Pearson para calcular a correlação linear entre o volume do hematoma e o volume do edema

(3) Use o coeficiente de correlação de postos de Spearman para calcular a correlação de postos entre o volume do hematoma e cada método de tratamento.

(4) Use o coeficiente de correlação de postos de Spearman para calcular a correlação de postos entre o volume do edema e cada método de tratamento.

(5) Compare os tamanhos dos diferentes coeficientes e analise o grau de correlação entre os três

O método de modelagem
(1) usa volume de hematoma e volume de edema como características contínuas e métodos de tratamento como características de classificação

(2) Construir um modelo de regressão tendo o volume do edema como variável alvo e o volume do hematoma e tratamento como variáveis ​​independentes.

(3) Treine o modelo e obtenha os coeficientes de cada variável

(4) Compare os coeficientes de cada categoria de tratamento para ver seu impacto no volume do edema

(5) Selecione os principais fatores de influência por meio de testes de significância das variáveis

(6) Analisar o desempenho geral do modelo e avaliar a capacidade explicativa de cada variável

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.cluster import KMeans

# 读取数据
data = pd.read_excel('table2.xlsx') 

# 特征工程:提取时间和水肿体积
X = data[['time']]  
y = data[['ED_volume']]

# 构建线性回归模型
lr = LinearRegression()

# 训练模型
lr.fit(X, y)

# 获取拟合的系数
print('模型Slope:', lr.coef_)  
print('模型Intercept:', lr.intercept_)

# 预测水肿体积
y_pred = lr.predict(X) 

Questão 3

Predição do prognóstico e exploração dos principais fatores em pacientes com AVC hemorrágico
1. Prever o prognóstico com base nos primeiros resultados de imagem
. Usar um modelo de regressão, com a pontuação mRS de 90 dias como variável alvo, e histórico pessoal, histórico de doença e primeiras características de imagem como variáveis ​​independentes:

m RS = C 0 + C 1 x 1 + . . . + wnxn mRS = w_0 + w_1x_1 + ... + w_nx_nm RS=c0+c1x1+...+cnãoxnão

Entre eles, mRS mRSm RS é a pontuação prognóstica,xi x_ixeuPara cada recurso, wi w_iceué o coeficiente de peso correspondente.

Você pode tentar regressão linear, regressão LASSO e outros algoritmos.

2. Prever o prognóstico com base em todos os resultados de imagem.
Como acima, não apenas use a primeira imagem, mas também combine os recursos de imagem em momentos subsequentes para construir um modelo de regressão para previsão.

3. Analise os principais fatores de influência
analisando o peso de cada variável wi w_iceu, determine o par de m RS mRSm RS apresenta o maior impacto.
Use testes estatísticos para analisar os efeitos de diferentes recursos emm RS mRSImpacto significativo do m RS .
Use métodos de seleção de recursos (como RFE) para selecionar os principais recursos.
Após excluir recursos irrelevantes, observe as mudanças nas pontuações do modelo.
Especificamente,
1) Para a seleção de algoritmos de modelagem,
você pode tentar regressão linear, regressão LASSO, GBDT e outros algoritmos
para comparar os erros e condições de sobreajuste de diferentes algoritmos, selecionar o melhor algoritmo
para ajustar parâmetros e otimizar o modelo e melhorar o precisão
2) Características
Processamento de engenharia de valores faltantes: codificação de exclusão/preenchimentode
codificação one-hot
características contínuas: remoção de média e normalização de variância
extração de características de séries temporais: tendência, periodicidade,etc. ) Avaliação do modelo edivisão do conjunto de treinamento, validação cruzada múltipla do, cálculo de RMSE, R2, MAE e outros indicadores de avaliação, desenho da curva de aprendizado, verificação do problema de sobreajuste4) Análise de fator chave,calcular a influência do recurso, classificar e filtraradicionando/excluindo recursos, comparação Use testes estatísticos (teste t, etc.) para determinar a significância dasmétodos de regularização para selecionar recursos automaticamente e analisaros efeitos dos recursos em diferentes subgrupos.











4. Faça sugestões
para as características que têm impacto significativo, analise o significado clínico e dê sugestões de intervenção.
A análise comparativa foi realizada entre os grupos de pacientes com bom prognóstico e mau prognóstico para descobrir as diferenças nos fatores de influência.
Código:

# 导入需要的库
import pandas as pd
from sklearn.linear_model import Lasso
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_csv('data.csv')

# 特征工程
X = data[['age', 'gender', 'treatment', 'image_features']]
y = data['mRS']

# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2020)

# Lasso回归
model = Lasso()

# 使用网格搜索找到最优参数
from sklearn.model_selection import GridSearchCV
params = {
    
    'alpha': [0.001, 0.01, 0.1, 1]}
gs = GridSearchCV(model, params, scoring='neg_mean_squared_error', cv=5)
gs.fit(X_train, y_train)
print('最优参数:', gs.best_params_)
model = gs.best_estimator_#见完整版

Confira minha resposta para a versão completa da ideia ~

(5 mensagens privadas/2 mensagens) Como avaliar o Concurso de Pesquisa em Modelagem Matemática 2023? -csdn

Acho que você gosta

Origin blog.csdn.net/qq_25834913/article/details/133157018
Recomendado
Clasificación