Como usar a instrução proc glmselect no sas


Você pode usar a instrução PROC GLMSELECT no SAS para selecionar o melhor modelo de regressão com base em uma lista de possíveis variáveis preditoras.

O exemplo a seguir mostra como usar essa afirmação na prática.

Exemplo: como usar PROC GLMSELECT em SAS para seleção de modelo

Suponha que queiramos ajustar um modelo de regressão linear múltipla que usa (1) o número de horas gastas estudando, (2) o número de exames preparatórios realizados e (3) o gênero para prever a nota final dos alunos no exame.

Primeiro, usaremos o seguinte código para criar um conjunto de dados contendo essas informações para 20 alunos:

 /*create dataset*/
data exam_data;
    input hours prep_exams gender $score;
    datalines ;
1 1 0 76
2 3 1 78
2 3 0 85
4 5 0 88
2 2 0 72
1 2 1 69
5 1 1 94
4 1 0 94
2 0 1 88
4 3 0 92
4 4 1 90
3 3 1 75
6 2 1 96
5 4 0 90
3 4 0 82
4 4 1 85
6 5 1 99
2 1 0 83
1 0 1 62
2 1 0 76
;
run ;

/*view dataset*/
proc print data =exam_data;

A seguir, usaremos a instrução PROC GLMSELECT para identificar o subconjunto de variáveis preditoras que produz o melhor modelo de regressão:

 /*perform model selection*/
proc glmselect data =exam_data;
    classgender ;
    model score = hours prep_exams gender;
run ;

Nota : incluímos gênero na declaração de classe porque é uma variável categórica.

O primeiro grupo de tabelas na saída mostra uma visão geral do procedimento GLMSELECT:

Podemos observar que o critério utilizado para parar de adicionar ou retirar variáveis do modelo foi o SBC , que é o critério de informação de Schwarz , às vezes chamado de critério de informação bayesiano .

Essencialmente, a instrução PROC GLMSELECT continua adicionando ou removendo variáveis do modelo até encontrar o modelo com o valor SBC mais baixo, que é considerado o “melhor” modelo.

O seguinte grupo de tabelas mostra como terminou a seleção passo a passo:

Podemos ver que um modelo apenas com o termo original teve um valor SBC de 93,4337 .

Ao adicionar horas como variável preditora no modelo, o valor SBC caiu para 70,4452 .

A melhor maneira de melhorar o modelo foi adicionar o gênero como variável preditora, mas isso na verdade aumentou o valor do SBC para 71,7383.

Assim, o modelo final inclui apenas o termo de interceptação e os tempos estudados.

A última parte do resultado mostra o resumo deste modelo de regressão ajustado:

Podemos usar os valores da tabela Estimativas de Parâmetros para escrever o modelo de regressão ajustado:

Nota do exame = 67,161689 + 5,250257 (horas estudadas)

Também podemos ver várias métricas que nos dizem quão bem este modelo se ajusta aos dados:

O valor R-Square nos indica a porcentagem de variação nas notas dos exames que pode ser explicada pelo número de horas estudadas e pelo número de exames preparatórios realizados.

Nesse caso, 72,73% da variação nas notas dos exames pode ser explicada pela quantidade de horas estudadas e pela quantidade de exames preparatórios realizados.

O valor Root MSE também é útil saber. Isto representa a distância média entre os valores observados e a linha de regressão.

Neste modelo de regressão, os valores observados desviam-se em média 5,28052 unidades da reta de regressão.

Nota : Consulte a documentação do SAS para obter uma lista completa de possíveis argumentos que você pode usar com PROC GLMSELECT .

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como realizar regressão linear simples no SAS
Como realizar regressão linear múltipla no SAS
Como realizar regressão polinomial no SAS
Como realizar regressão logística no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *