You are on page 1of 35

Estágio II

Teoria e Aplicação Básica Sobre Regressão
Logı́stica para Modelagem de Risco

Modelagem de Risco de Crédito

Professor responsável:
Adriano Kamimura Suzuki

Aluno:
Sérgio O. Carvalho 6427466

SÃO CARLOS - SP
11 de novembro de 2014

1 Modelagem Credit Scoring
A modelagem de Credit Scoring tem por objetivo final gerar um ranking de
probabilidades referente à clientes que pleiteiam ser contemplados por uma
polı́tica de concessão de crédito de determinada instituição, de modo que ba-
seado neste ranking a empresa poderá decidir qual ou quais clientes serão con-
templados. Cada probabilidade deste ranking é o produto de uma modelagem
estatı́stica, matemática, computacional das informações cadastrais que cada cli-
ente possui junto a instituição, pode-se dizer que esta probabilidade é o resumo
socio-econômico das caracterı́sticas dos clientes. Esta estratégia de concessão
de crédito baseada em modelagem estatı́stica tem contribuı́do fortemente para
que instituições financeiras alcancem maior rentabilidade,e desta forma, a busca
por modelos capazes de proporcionar menor risco e maior lucro às instituições
financieras, é constante.

2 Etapas de Desenvolvimento do Modelo
A estrutura básica de desenvolvimento de modelos de Credit Scoring está re-
presentadada na Figura 1.

Figura 1: Estrutura de Desenvolvimento de Modelos Credit Score

2.1 Planejamento Amostral
O processo de amostragem para modelos de Credit Scoring possui uma estrutura
temporal de até 24 meses divididos em passado, presente e futuro onde cada
perı́odo desenvolve uma particularidade neste processo. Seja na escolha das
variáveis explicativas, nas informações geradas pelos sistemas das empresas e
na predição como resultado final do processo. Consideramos também que a
relação dos dados cadastrais dos clientes com o desempenho dos créditos seja
semelhante no passado e no futuro. A Figura 1 nos mostra um resuno deste
processo.

1

Figura 2: Estrutura de Amostragem Temporal de Modelos Credit Score

i) Dados desbalanceados: Quando há um desbalanceamento da ordem de
20 bons para 1 mau geralmente há uma dificuldade em detectar através
da modelagem a diferença de perfis, entre bons e maus pagadores, sendo
necessário aumenta a proporção evento menos frequente e estratificar a
amostra de forma aleatória em proporções de cada categoria, amostragem
do tipo Oversampling ou State Dependent.
ii) A sazonalidade: A seleção da amostra envolvendo momentos especı́ficos
no tempo em que o comportamento do evento é atı́pico, pode afetar e
comprometer diretamente o desempenho do modelo.
iii) Variabilidade do evento de interesse: Fatores externos, como a conjun-
tura econômica, que fazem com que a seleção da amostra envolva cenários
de não-representatividade da mesma com relação ao evento e assim uma
maior instabilidade do modelo.
iv) Amostragem por safras: No contexto de Credit Scoring a escolha de 12
safras ao longo de um ano minimiza consideravelmente a instabilidade do
modelo provocada pelos fatores descritos em i,ii e iii.

3 Estratégia Estatı́stica de Modelagem
Adotaremos como estratégia para a modelagem Credit Scoring, o método de
Regressão logı́stica, que consiste em modelar o parâmetro de proporção π da
variável de interesse da distribuição de Bernoulli com a função de ligação Logito,
obtida através da famı́lia de exponencial.

3.1 Famı́lia Exponencial
Diz-se que uma variável aleatória Y tem distribuição pertencente à famı̀lia ex-
ponencial se a sua função densidade de probabilidade (f.d.p.) puder ser escrita
na forma:

f (Y |θ) = h(y) exp{η(θ)t(y) − b(θ)}

Seja Y ∼ B(1, π) cuja forma na famı́lia exponêncial é dada por:

2

Y = 1 e desta forma o ”fracasso ”será relacionado aos clientes adimplentes cujo valor da variável resposta Y é igual zero.+βk xk ) 3 .. Y = 0 . Em nosso contexto o ”sucesso”ou evento de interesse será relacionado aos clientes inadimplentes. descritas pelo vetor X = (x1 . temos que: id Y ∼ Bernoulli(π) De modo que: P (Y = 1) = π e P (Y = 0) = 1 − π 4. de modo a determinar um ranking de propabilidades de maus pagadores dada por π(x). a função que descreve essa relação é dada por: 1−yi P [Yi = yi |x1 . x2 . . temos então que:   π η(θ) = log = X 0 β = β0 + β1 x1 +. . ..+βk xk ) π= 1 + e(β0 +β1 x1 +. denominados por ”sucesso”e ”fracasso”respectimavente. função de ligação logito (1) 1−π eη(θ) b (θ) = log 1 + eη(θ) . σ 2 I) ... onde β é um vetor de parâmetros cuja relação com preditor linear é dada por: η(θ) = X 0 β Como E(Y ) = π. aqueles clientes cujo valor da variável resposta Y é igual a um. . . b0 (θ) =  =π 1 + eη(θ) 4 Regressão Logı́stica Múltipla No modelo de regressão logı́stico a variável resposta Y é binária assumindo os valores 1 ou zero.1 Modelo Estatı́stico Desejamos modelar o resultado da variàvel aleatória Yi com base num conjunto de k caracterı́sticas de cada cliente. cujo topo deste ranking descreve o cliente com maior chances de inadimplência.. x2 . xk ] = πiyi (1 − πi ) (2) Seja a relação lienar multipla dada por Y = X 0 β +  com  ∼ N (0. . xk )0 ... ou seja. +βk xk 1−π Então as probabilidades relaionadas aos clientes maus pagadores são obtidas por: e(β0 +β1 x1 +. . .  y π f (Y |π) = π y (1 − π)1−y = (1 − π) 1−π     π = exp y log + log (1 − π) 1−π Sabemos que E (Y ) = b0 (θ)   π η (θ) = log . .

5 Estimação dos Parâmetros do Modelo O ajuste do modelo se dá através das estimativas dos βj . .βk xk ) = eX βj com j = 0.. temos: n n X X exij β̂j yi − =0 i=1 i=1 1 + exij β̂j n n X X exij β̂j yi xij − xij =0 i=1 i=1 1 + exij β̂j A versão multivariada do método numérico iterativo de Newton-Raphson que é baseado na aproximação de Taylor expandindo-se a função U (β β ) na vizinhança do ponto inicial β (0) nos fornece a solução deste sistema de equações não lineares.. . .+βk xik ) X X   = yi (β0 + β1 xi1 + .. da seguinte forma: n Y 1−yi L[β|Y. .+βk xik ) n n   X X 1 = yi (β0 + β1 xi1 + . + βk xik ) − log 1 + e(β0 +β1 xi1 +.+βk xik ) n X n X   = yi (β0 + β1 xi1 + . .. sendo que os β̂j 0 s são obtidos pelas derivadas parciais do logaritmo da função de máxima verossimilhança.. . de modo que: β (0) ) + U 0 (β β ) ≈ U (β U (β β (0) )(β β − β (0) ) 4 . ..+βk xik ) i=1 i=1 0 como e(β0 +β1 x1 . .. .. . . .. . . . n n β) X ∂l(β X exij βj = yi xik − xik ∂βk i=1 i=1 1 + exij βj igualando a zero . k vetor de parâmetros β. k ... ... . + βk xik ) + log i=1 i=1 1 + e(β0 +β1 xi1 +.. + βk xik ) + log 1 − i=1 i=1 1 + e(β0 +β1 xi1 +. podemos escrever que: n n β) X ∂l(β X exij βj = yi − ∂β0 i=1 i=1 1 + exij βj . X] = πi (x)yi (1 − πi (x)) i=1 n   n X πi (x) X β) = l(β yi log + log (1 − πi (x)) i=1 1 − πi (x) i=1 n n e(β0 +β1 xi1 +. j = 1.

  . 6... . ∂β0 βk  2   ∂ l(ββ ) ∂ 2 l(ββ ) 2 β)   ∂β β0 ∂β 2 . . ...1 Todos os modelos possı́veis As medidas AIC (Akaike’s information criterion) e BIC (Bayesian In- formation Criteric) são critérios para seleção de modelos dado um conjunto finito de modelos. β) ∂l(β ∂ 2 l(β β) β) = Onde U (β e U 0 (β β) = ∂ββ ∂β β2 Assim o processo iterativo é obtido repetindo a aproximação acima em m passos.   ∂ 2 l(β β) ∂ 2 l(β β) ∂ 2 l(β β) ∂βk β0 ∂βk β1 . . os critérios de seleção de modelos baseiam-se no conceito do modelo mais parcimonioso. Essas medidas são calculadas da seguinte forma.. iremos utilizar o método de Todos os Modelos Possı́veis. Há enumeras técnicas para seleção de variáveis. dada por:  2 β ∂ l(β ) ∂ 2 l(β ∂ 2 l(β β) β)  ∂β02 ∂β0 β1 . x ik i=1 (1+e ) i=1 (1+exij β̂j ) 2 i=1 (1+e xik β̂j 2 ) 6 Seleção de Variáveis De forma geral.   n xij β̂j n n exij β̂j exij β̂j P  xik e xij β̂j 2 2 P P xik xi2 . o modelo com menor número de covariáveis capaz de explicar a variável resposta. ela é substituı́da pela matriz de informação de Fisher. .    . . . . β (m+1) = β (m) + [−U 0 (β β (m) )]−1 U 0 (β β (m) ) Como a matriz −U 0 (β β ) pode não ser positiva definida... e portanto não invertı́vel. maior também será a estimativa do erro e mais dependente o modelo será dos dados observados. . ∂∂βl(β 1 βk   I(βb ) = −E  .. 1 1  . sendo assim . ou seja. ∂βk2  P n n n  exij β̂j exij β̂j exij β̂j P P xi1 . os melhores modelos são aqueles cujos valores de AIC e BIC são menores. . . X) 5 .. xik  i=1 (1+exij β̂j )2 i=1 (1+exij β̂j )2 i=1 (1+exik β̂j )2   n x n n P  exij β̂j exij β̂j xij β̂j x2i2 xi1 xik e xik β̂j 2  P P i1 xij β̂j 2 ... .. (1+exij β̂j )2  (1+e ) (1+e )   = E  i=1  i=1 i=1 . pois quanto maior o número de covariáveis no modelo .   AIC = 2 · k − 2 · log L(β̂|Y... . . . . Ambos baseiam-se no valor da função de verossimilhança do modelo ajustado e um valor K representando a quantidade de parâmetros envolvidas no ajuste do modelo de modo a penalizar os modelos com a maior quantidade de parâmetros. .

71 657.1 .<140 627.80 638. 7.39 640.no assets 605.<15 616.28 651. faz-se necessário definirmos uma Regra de Predição baseada em um ponto de corte ”cut- off point”de modo a classificar os clientes como Ŷ = 1 maus pagadores ou Ŷ = 0 bons pagadores.2 . Com o auxı́lio do R chegamos ao modelo de menor AIC.1 Curva ROC e Cut-Off Point Como os valores das probabilidades de π̂ estão entre 0 e 1. em que k é o número de parâmetros do modelo.4 . Desempenho e Com- paração de Modelos Há métodos estatı́sticos que avaliam se há diferênças significativas entre duas populações dado uma métrica e um evento de interesse. Para determinar o ponto de corte recorremos a curva ROC (Receiver Operating Characteristic Curve). 6 .No balance 677.4 . X) .58 629.> 25 610.6.59 628.household Appliances 608. Pela Figura 3 podemos observar o ponto de corte (cut-off point) aém de outras medidas de desempenho geral de nosso modelo.owned 609.2 .80 Value of Savings D6.16 Na Tabela 1 temos o conjunto de covariáveis selecionadas pelo critério de menor AIC.66 636.1 .76 Amount of Credit D5.1 .28 Employed by Current Employer D7.1 .   BIC = k · log(n) − 2 · log L(β̂|Y.Other 617.49 632.>$300 633.>8 years 612.59 Balance of Current Account D1.69 634.39 Most Valuable Assests D12.46 Balance of Current Account D1.49 Purpose of Credit D4.125<x<=12.4 . iremos utiliza-los a fim de medir o quanto os grupos de maus e bons pagadores são diferentes.69 Payment of Previous Credits D3.76 641.58 Type of Apartment D15.71 Duration of Credit D2.1 . neste sentido. 7 Métricas de Predição. Tabela 1: Variáveis Selecionadas Variáveis Segmentação Df Deviance AIC Interpcepto 602.46 701.Problematic Running Accounts 627.60 Purpose of Credit D4.60 651.1 .500 614.1 .16 633.66 Installment in % of Available Income D8. de modo que otimizando a relação entre os valores de sensibilidade P (Ŷ = 1|Y = 1) e 1-especificidade 1 − P (Ŷ = 0|Y = 0) obtemos o ponto de corte que é dado pelo ponto que mais se aproxima do canto superior esquerdo do gráfico.

para isso. bB . 7 .Quantidade total de clientes. melhor será o desempenho do modelo. usa-se submeter às classificações obtidas à uma métrica capaz de medir o quão bom é o modelo.2 Métricas de Desempenho O processo de construção de um modelo passa necessariamente por critérios cujos objetivos são validar a estrutura de modelagem. Figura 3: Resultado da Classificação .Curva ROC Pela Curva ROC podemos interpretar o desempenho do modelo.Clientes Bons. Figura 4: Matriz de Confusão: Critérios de Desempenho do Modelo onde n . Commo estamos trabalhando com um modelo de predição binária e como já sabemos determinar o cut-off tais critérios podem ser obtidos através da Matriz de Confusão dada pela Figura 5. de modo que quanto maior área acima da diagonal principal. 7. classificados como Bons (acerto).

classificados como Bons (erro).mM .Total de cliente classificados como maus.75% B Acurácia: É a proporção entre o número de acerto do modelo pelo número total de clientes. mM bM mM + bM PV L = + = = 30% n n n 8 . classificados como maus (erro).25% mB + mM m Valor Preditivo Negativo (VPN): É a proporção entre as observações de acerto do não-evento de pelo total observações classificadas como não.14% n Valor Preditivo Positivo (VPP): É a proporção entre as observações de acerto do evento de interesse pelo total observações classificadas como evento de interesse.Clientes Bons. bB P (Ŷ = 0|Y = 0) = = 67.71% M Especificidade:Probabilidade de classificar o cliente como bom pagador.Clientes maus. Como vimos a curva ROC se utiliza de duas medias Sensibilidade e Especifici- dade que podem ser obtidas pela Matriz de Confusão para os valores observados dada pela Tabela 2.Total de clientes classificados como bons.Clientes maus. B . dado que ele é mau pagador. dado que ele é bom pagador. mM mM V PP = = = 53.Total de maus clientes. M . bM . Matriz de Confusão Valores Da Amostra Valores Preditos Mau Bom Total Mau 180 158 338 Bom 30 332 362 Total 210 490 700 Tabela 2: Valores obtidos após a classificação Sensibilidade: Probabilidade de classificar como o cliente como mau paga- dor. m .evento de interesse bB bB V PN = == = 91. sem levar em consideração se esses clientes possuem ou não ao evento de interesse. bB + mM ACC = = 73.71% bB + bM b Prevalência (PVL): É a proporção entre o número de acertos mais o número de erros para o evento de interesse pelo total de obervações sem considerar os eventos. classificados como Maus (acerto).Total de bons clientes. mM P (Ŷ = 1|Y = 1) = = 85. b . mB .

Correlação de Mathews (MCC): Como nos caso do coeficiente de Correlação de Pearson. Figura 5: Distribuição Empı́rica Após o Processo de Classificação Pela Figura 5 podemos observar que há diferenças nas distribuições empı́ricas para as classificações entre bons e maus pagadores com base no cut-off point 9 . mede-se o quanto as variáveis que indicam a classificação original do evento de interesse e as que correspondem a classificação do modelo obtida por meio do ponto de corte adotado. ambas variáveis assumindo valores 0 e 1. 2000).3 O Método Kolmogorov-Smirnov (KS) O Método Kolmogorov-Smirnov nos fornece uma estatı́stica capaz de medir a distância absoluta entre dois grupos distintos. usando para isso as respectivas funções empı́ricas de probabilidade acumuladas de cada grupo. Se considerar- mos que com base no ponto de corte foram formados dois grupos. mM bB − mB bM M CC = p = 49. idêntificados por m e b de modo que suas repectivias funções de empı́ricas acumuladas são dadas por Fm e Fb então a estatı́stica KS é obtida da seguitne forma: KS(m.. tendem a apresentar o mesmo sinal de magnitude após serem padronizadas (Baldi et al.03% (mM + bM )(mM + mB )(bB + bM )(bB + mB ) 7. maus e bons pagadores.b) = sup |F (m) − F (b)| (3) Esta função corresponde a distância máxima entre F (m) e F (b) de modo que %0 < KS < 100% sendo que 100% indica máxima diferença entre os grupos. como ilustrado pela Figura 5.

temos que: D(m.dada pela curva ROC. k o j-ésimo parâmetro de interesse associado a j-ésima caracterı́stica xij do i-ésimo cliente a ser comparada.2e − 16 Com isso. Desta forma. H0 : Fm (maus) = Fb (bons) Com o auxı́lio do R . . Seja βj xij com j = 1. podemos investigar a influência que determinada caracterı́stica xij exerce sobre a probabilidade de determinado cliente ser bom ou mau pagador. em nosso caso.OR (razão de chances) que compara a probabilidade de sucesso com a probabilidade de fracasso dado a caraterı́stica que se desejar investigar. portanto. obtemos ω(xj+1 ) eβ0 +βj xij+1 OR = = β0 +βj xij = eβ0 +βj xij+1 e−β0 −βj xij = eβj (5) ω(xj ) e então ln(OR) = ln(eβj ) = βj . podemos dizer que há diferenças significativas entre as distribuições das classes bons e maus pagadores. temos que: βj > 0 ⇒ OR > 1 ⇒ π(xij+1 ) > π(xij ) βj < 0 ⇒ OR < 1 ⇒ π(xij+1 ) < π(xij ) 10 . 8 Odds Ratio e Interpretação dos Parâmetros Interpretar os parâmetros do modelo é um passo fundamental para medir a in- fluência que cada covariável exerce sobre a probabilidade do evento de interesse. . Com o teste de Kolmogorov-Smirnov podemos testar se há essas diferenças são confirmadas.b) = 1 e p − value < 2. . temos que ω(x) é dado por: eβ0 +βj xij eβ0 +βj xij π(x) β +β x β0 +βj xij = 1 + eβ0 +βj xij = 1+e 0 j ij ω(x) = = eβ0 +βj xij (4) [1 − π(x)] e 1 1− 1 + eβ0 +βj xij 1 + eβ0 +βj xij De modo que ao fazermos xij+1 − xij = 1 . usaremos a função Odds Ratio . .

1 .1 D12.3564 Value of Savings D6.1041 3.1 D3.1.1038 8.Problematic Running Accounts -1.793 De fato. suas repectivas segmentações.003 493 0 0 0 1 1 0 1 1 1 1 0 0 0 0.1 .1 (Type of Apartment).1 D1. da seguitne forma: Tabela 5: Tabela Odds Ratio Caracterı́stica Segmentação Estimate Odds Ratio Interpcepto -1.1 D12.6579 Type of Apartment D15.1 .2839 Purpose of Credit D4.1 D6.1036 0. Podemos mensurar essa proporção através da razão de chances (Odds Ratio).household Appliances -0.1 15-25 Type of Apartment D15.9814 A Tabela 5 nos mostra as caracterı́sticas recomendadas pelo nosso modelo.1 D1. podemos esperar que tais caracterı́sticas estejam presentes quando relacionadas aos clientes com maiores chances de inadimplência.1 π̂ 80 1 0 1 0 0 0 0 1 1 0 1 0 0 0.005 252 0 0 0 1 1 1 0 1 0 0 0 1 0 0.1 .791 952 0 1 0 1 0 0 0 0 1 0 0 0 0 0.007 A Tabela 3 refere-se aos dez clientes com as menores chances de inadimplência.3317 Balance of Current Account D1.1 D3.1 D15.<15 0.783 164 1 0 1 0 0 0 0 0 1 1 1 0 0 0.1643 Duration of Credit D2.6.0316 0. Essas caracterı́sticas nos dão indı́cios de que determinado cliente tem grande chance de ser inadimplente.5590 Purpose of Credit D4.003 590 0 0 0 1 1 0 1 1 0 0 0 0 0 0.1 π̂ 822 0 0 0 1 1 0 1 1 0 1 1 0 0 0.2 D4.004 133 0 0 0 1 1 1 0 1 0 0 0 1 0 0.1928 Most Valuable Assests D12.765 213 1 0 1 0 0 0 0 1 1 0 1 0 0 0.1 no balance Balance of Current Account D1.1973 Balance of Current Account D1.D8.500 -1.4680 Payment of Previous Credits D3.D8.765 459 1 0 1 0 0 0 0 1 1 0 1 0 0 0. notemos a presença das caracterı́sticas D1.2 .003 72 0 0 0 1 0 0 1 1 0 1 0 0 0 0.1.765 359 1 0 1 0 0 0 0 1 1 0 1 0 0 0.1.4 D5.7592 0.005 389 0 0 0 1 1 0 0 1 0 1 0 0 0 0.4 .2 .4138 Installment in % of Available Income D8. Nota-se que tais probabilidades podem estar relacionadas a ausência ou quase ausência das caracterı́sticas D1.7852 2. D1.no assets -0.>$300 1.0165 Employed by Current Employer D7.1 D7.006 320 0 0 0 1 0 0 1 1 0 0 0 1 0 0.4 .No balance 2.2 .1 .4 .2 D4.1 com excessão à caracterı́stica D15.782 41 1 1 0 0 0 1 0 1 1 0 1 0 0 0.1 D6.1 D15.1 .1 . D15.8825 0. D6.4 D8.6838 1.owned 0. D6.<140 1.Other -1.1 .5816 0.4 D5. Tabela 3: As 10 menores probabilidades de inadimplência y D1.1 .125<x<=12. e se assim for.259 0.1955 Amount of Credit D5. D1.2 >$300 Value of Savings D6.1 .769 634 1 1 0 0 0 0 0 1 1 1 1 1 1 0.1 <140 Installment in % of Available Income D8.765 172 1 1 0 1 0 1 0 1 1 0 1 0 1 0.4187 0.2 .002 865 0 0 0 1 1 0 1 1 0 0 0 0 0 0.004 740 0 0 0 1 0 0 1 1 0 1 0 0 0 0. as estimativas dos parâmetros e as razões de chan- 11 .4265 4.1 owned Tabela 4: As 10 maiores probabilidades de inadimplência y D1.6321 0.4 D8. A saber tais caracterı́sticas são: Variável Segmentação Balance of Current Account D1.4 D4.776 883 1 1 0 0 0 1 0 1 1 0 1 0 0 0.>8 years -0.2 D2.2 D2.> 25 -0.4 D4.1 D7.

.        . Em estatı́stica há um conjunto de técnicas que podem nos auxilar a responder essa questão. com I(β̂) = X 0 V X d d V ar(β̂j ) = diag(V ar(β̂)j th ) = π̂ij (1 − π̂ij ). Cov(β̂j .. observa-se que a carac- terı́stica Balance of Current Account . .ces (Odds Ratio) para cada caracterı́stica. Com isso. .. xnk n×(k+1) 0 0 .. surge a necessidade de sabermos se as covariáveis xj associadas a estes parâmetros são importantes para explicar o modelo.       . β̂j ) = V ar(β̂)(j. ∂ 2 L(β) Pn xij β̂j = − i=1 x2ij e xij β̂j 2 ∂βj2 (1+e ) ..No Balance aumenta em 8.V = . para valores de Odds Ratio menores que 1 a presença de certa caracterı́stica diminue a chance inadimplência.20 vezes as chances de um cliente ser inadimplente comparado a ausência desta caracterı́stica. x1k  π̂1 (1 − πb1 ) 0 . para j=0.. . 0        1 x21 . .       .l) Dadas as matrizes: 1 x11 .. x2k  0 π̂2 (1 − π̂2 ) ..k (6) ∂ 2 L(β) Pn xij β̂j = − i=1 xij xil e xij β̂j 2 ∂βj ∂βl (1+e ) Com isso temos que: Σ = I −1 (β̂).. dentre elas estão: i) Teste de Wald ii) Teste da Razão de Verossimilhança (TRV) 12 ... β̂l ) = Cov(β̂l ... De forma geral podemos dizer que a presença de determinada caracterı́stica aumenta a chance de inadimplência quando o valor de Odds Ra- tio é maior que 1. . de modo que. 9 Desvio padrão estimado Das derivadas parciais de 2º ordem da função `(Lβ) podemos obter as estima- tivas de varância e covariância dos β̂j 0 s .1. j th elemento da diagonal da matriz..    π̂( 1 − π̂n )     1 xn1 .... .. 0              X= . n×n Então temos que o desvio padrão do coeficiente βj é dado por: q DP (β̂j ) = V ˆar(βˆj ) ˆ 10 Inferência no modelo Uma vez que ja estimamos os parâmetros β̂j 0 s .

j = 1.01023 * Tabela 6: Tabela do Teste de wald Pela tabela 6 podemos verificar através dos valores de p-valores que as co- variáveis xj . . Para isso utiliza- se na compração o log da função de verossimilhança. . . j = 1.588 5.437 0. Observamos também que o teste w11 possui p-valor = 0.08654 > 0. O teste Wald também pode ser obtido da seguinte forma: h i−1 ˆ β̂) W = β̂ 0 I( β̂ = β̂ 0 (X 0 V X)−1 β̂ Hauck e Donner (1977) recomendam no caso do teste de Wald não rejeitar H0 que se a utilize o teste TRV para testar se realmente o coeficiente não é significativo.0004949 *** w8 688 23. A comparação dos valores observados com os valores preditos é realizado através da razão de verossimi- lhanças da por: 13 . são importantes para explicar o modelo.002253 ** w10 688 13.220 2.0531 0. é dada por: βbj Wj = q V ar(βbj ) d onde Wj tem distribuição aproximada normal padrão e seu valor-p é dado por P (|Z|>|Wj |).08654 . 12 . 12 associadas aos parâmetros β̂j .1 O Teste de Wald O teste de Wald é obtido por comparação entre a estimativa de máxima ve- rossimilhança do parâmetro (βbj ) e a estimativa de seu erro padrão.3313 0.135 0. Wj Df Chisq P r(> Chisq) w1 688 66.5953 0.0002468 *** w11 688 2.784 0.027 1.0003496 *** w7 688 12. . . .7457 0.05.431e-06 *** w5 688 5.371 3.342e-08 *** w3 688 8. A razão resultante. sendo que Z denota a variável aleatória da distribuição normal padrão. desta forma. .10.2 O Teste da Razão de Verossimilhança É necessário comparar os valores observados da variável resposta com valores preditos a partir de modelo com e sem a variável de interesse.736e-16 *** w2 688 29.01653 * w6 688 12. 10.9376 0. sob a hipótese H0 : βj = 0. w12 688 6. podemos rejeitar a hipótese de que β̂j = 0.597e-06 *** w9 688 9. . porém não iremos retirar-la a caracterı́stica correspondente do modelo uma vez que sua importância possui certa relevancia além de ela ajudar compor um valor de AIC mı́nimo em uma série considerada de simulações.004542 ** w4 688 22.

Segue da definição de modelo saturado que pi ˆ = yi . vejamos. X G = −2 log     L β̂|Y.1−α . a verossimilhança do modelo saturado é igual a 1. 14 . ou seja. X é a função de verossimilhança do modelo com todas as variáveis exceto a variável a ser testada xi . " # n Y yi 1−yi D = −2 log π̂i (x) (1 − π̂i (x)) i=1 ( n ) X = −2 [yi log(π̂i ) + (1 − π̂i ) log(1 − π̂i )] i=1 Para testar a significância da variável independênte deve-se comparar o valor de D no modelo com e sem a variável independente na equação. Desejamos testar a seguinte hipótese:  H0 : βi = 0 H1 : βi 6= 0 de modo que a estatı́stica G ∼ χ21. onde que L β̂|Y. X   tal teste é chamado Teste da Razão de Verossimilhança(TRV). A estatı́stica D(Deviance) tem distribuição assintótica qui-quadrado com graus de liberdade de acordo com a hipótese formulada . X) é a função de verossimilhança do modelo ajustado e L(β 0 |Y ) é a função de verossimilhança do modelo saturado. Pode-se escrever G como:    L β̂−i |Y. X é  a função de  verossimilhança do modelo com todas as variáveis em estudo e L β̂−i |Y.    L β̂|Y. ela nos auxilia a verificar o ajuste do modelo. do modelo em que a estimativa da proporção π é a variável resposta y. n Y 1−yi L(β 0 |Y ) = yiyi (1 − yi ) =1 i=1 então. como a variável reposta é binária. X D = −2 log   L (β 0 |Y ) onde L(β̂)|Y. de modo que: "Q # n yi 1−yi i=1 π̂ i (x) (1 − π̂ i (x)) D = −2 log Qn yi 1−yi i=1 yi (1 − yi ) Neste caso. tem distribuição assintótica qui-quadrado com 1 grau de liberdade. G = D(modelo sem a variável) − D(modelo com a variável).

00 β̂9 10.00 0.17 1.00 β̂2 31.87 1. .10 1.00 β̂7 12.00 0. j = 1.00 β̂10 13. são importantes para explicar o modelo.99 1.00 β̂8 24.30 1.00 0.00 0.00 0.00 β̂3 8.00 β̂11 2.00 β̂1 74. .00 0.00 0.07 1.90 1. . . .01 1. 15 . .21 1.00 β̂5 5. . j = 1. 12 .00 0.02 β̂6 15.00 0.00 β̂4 25.00 0.00 0. 12 associadas aos parâmetros β̂j .57 1.00 0.69 1. podemos rejeitar a hipótese de que β̂j = 0. desta forma.01 β̂12 6. . TRV gl p-value β̂0 10.00 0.80 1.01 Tabela 7: Teste Da Razão de Verossimilhança Pela Tabela 7 podemos verificar através dos valores de p-valores que as covariáveis xj .12 1.

1 Intervalo de Confiança Para os Parâmetros Tomando como base o teste de Wald. Na Figura 6 há dois intervalos que não contém o parâmetro β Figura 6: Interpretação dos Intervalos de Confiança 11.11 Intervalos de Confiança na Regressão Logı́stica Múltipla Com os parâmetros β̂j 0 s estimados. desejamos agora criar intervalos de confiança para tais parâmetros de modo que: h  i P r β ∈ β̂ − . βˆj + z1−α/2 DP (βˆj ) . 1 − α) = βˆj − z1−α/2 DP (βˆj ) . o intervalo contém o verdadeiro valor do parâmtro β. β̂ +  obtido conterá o verdadeiro valor do parâmetro de modo que cada amostra resulta em um intervalo diferente.95. o intervalo β̂ −  . 16 . em 95% das amostras. temos que o intervalo de confiança de 100(1 − α)% para um parâmetro βj é dado por: h i IC(βj . β̂ +  = 1 − α Então um nı́vel de confiança h 1 − αi = 0. implica que em 95% das possı́veis amostras. porém.

21 β̂11 -0. .21 Figura 7: IC .56 β̂9 -0.Para os Parâmetros 11.10 -1.58 -0.95 β̂3 -0. Ψ̂(x) + z1−α/2 DP [Ψ̂(x)]]. β̂l ) 2xj xl Cov( j=0 j=0 l=j+1 O intervalo de confiança para a logito é: IC(Ψ(x).80 -0.63 -2.26 -1. .29 -0.03 -1.43 0.79 0.45 β̂8 1.2 Intervalo de Confiança para Logito Podemos também obter um estimador para a parte linear do modelo de regressão logı́stica.66 1.06 β̂12 0.5 % β̂0 -1.88 -1.80 -0.61 2.58 -1.24 β̂4 -1.43 β̂1 2.11 β̂6 -1.06 -0.68 0. que é dado por:   π̂ log = Ψ̂(X) = β̂0 + β̂1 x1 + β̂2 x2 + .10 1.47 -0. Figura 8: Intervalo de Confiança para Logito 17 .10 0.92 1.42 -0.16 1.78 β̂7 -1.90 0. Estimativa 2.76 -1. + β̂k xk 1 − π̂ De modo que o caso geral para obtermos uma estimativa da variância de Ψ̂(X) é dado por: k X k X k X V ˆar[Ψ̂(x)] = x2j V ˆar(β̂j ) + ˆ β̂j .75 β̂5 -0. o logito.5 % 97.62 -0.33 β̂10 0.62 β̂2 1.37 1. 1 − α) = [Ψ̂(x) − z1−α/2 DP [Ψ̂(x)].

17 0.47 0.16 7. eβS ] eβ̂inf eβ̂ eβ̂sup 0.46 0. 1 − α) = [eβI .3 Intervalo de Confiança para os valores ajustados Como o logito e seu intervalo de confiança estimados.06 1..20 13.20 0.k Então um intervalo de confiança para o Odds Ratio é dado por: IC(Odds Ratio.S = βˆj ∓ z1− α2 DP (βˆj ) para j=1.45 2.94 3..08 0.2.. 1 + eΨ̂(x)−z1−α/2 DP [Ψ̂(x)] 1 + eΨ̂(x)+z1−α/2 DP [Ψ̂(x)] Figura 9: IC para os valores preditos 11..66 1.18 1.78 0.76 2.36 0.89 0. podemos criar um intervalo de confiança para evento e interesse π da seguinte forma: " # eΨ̂(x)−z1−α/2 DP [Ψ̂(x)] eΨ̂(x)+z1−α/2 DP [Ψ̂(x)] IC(π.40 0.20 0.11.47 0. 1 − α) = .33 0.65 4.02 4.23 0.4 Intervalo de Confiança para a Odds Ratio Sabemos que os limites do intervalo de confiança para βj é dado por: βI.98 3.Odds Ratio 18 .51 4.35 0.17 0.34 0.99 8.72 1.56 0.28 0.41 0.64 1.34 Figura 10: IC .02 0.28 0.19 3.79 0.

temos : rpears<-residuals(ajust. Medidas como a Deviance e Qui-Quadrada de Pearson ajudam a verificar a qualidade dos modelos.1 Qui-Quadrado de Pearson As medidas da qualidade do ajuste são funções dos resı́duos definido como a diferença entre o observado e valores ajustados (y − π̂).698) cbind(QP. "Q # n yi 1−yi i=1 π̂i (x) (1 − π̂i (x)) D = −2 · log Qn yi 1−yi i=1 yi (1 − yi ) ( n n ) X X = 2· [yi log(yi ) + (1 − yi ) log(1 − yi )] − [yi log(π̂i ) + (1 − yi ) log(1 − π̂i )] i=1 i=1 n      X yi 1 − yi =2· yi log − (1 − yi ) log i=1 π̂i 1 − π̂i Podemos observar que a estatı́stica Deviance compara o i-ésimo valor de yi com π̂i de modo que a estatı́stica D tem distribuição qui-quadrado D ∼ χ21. comparando o modelo ajustado com o modelo saturado.] 622. Seja a hipótese: H0 : O Modelo Ajustado é Satisfatório 12. e mede o quão distante as estimativas do modelo estão dos dados obeservados.1−α i=1 π̂ i (1 − π̂ i ) Com o auxı́lio do R .2 Deviance A soma dos quadrados dos resı́duos no modelo logı́stico é denominada devi- ance (D).1−α 19 .2603 0.p2) QP p2 [1.9815767 12.type=’pearson’) (QP<-sum(rpears^2)) p2<-1-pchisq(QP.12 Medidas da qualidade do ajuste do modelo Após ajustar um modelo podemos comparar as estimativas deste modelo com os valores observados sendo que um modelo com bom ajuste (goodness of fit) possui valores estimados próximos aos valores observados. A medida de Pearson para a diferença entre o observado e predito é: n X (yi − π̂i )2 Q= ∼ χ21.

83 0.1 1 76.4 1 9.59 0.21 D1.0811 D15.2 1 50.0026 D8.98 698 778.69 695 681.20 0.04 688 609.16 0. Df Resid.0002 D12.1 1 3. Dev Pr(>Chi) NULL 699 855.0000 D4.0000 D7.0066 D6.2 1 4.0000 D3.1 1 21.07 690 626.1 1 14.75 691 635.60 0.0003 D5.68 696 701.47 0.22 0. H = X(X 0 X)−1 X 0 .1 1 6.1 1 7.1 Resı́duo de Pearson O resı́duo de Pearson é dado por: yi − π̂i rπ̂ = p π̂i (1 − π̂i ) O resı́duo de Pearson Studentizado tem a seguinte forma: Figura 11: Resı́duos de Pearson yi − π̂i rS π̂ = p π̂i (1 − π̂i )(1 − hi ) em que hi é a diagonal principal da matriz chapéu H dada por:.1 1 26. 20 .4 1 12.46 0.52 0.0104 13 Diagnóstico do Modelo 13.0000 D2.38 692 657.23 0.0366 D4.86 693 664.4 1 19.37 694 677.0000 D1.57 687 602.20 689 612.20 0.04 697 728. Df Deviance Resid.40 0.

2 Resı́duo Deviance O resı́duo deviance é pela seguinte fórmula: p di = ± −2 [yi log(π̂i ) + (1 − yi )log(1 − π̂i )]. Figura 12: Resı́duos de Pearson 13. Figura 13: Resı́duos de Deviance 21 .

700 / Value of Savings 700 . 6 No Savings / <140 / 140 .1400 / >1400 unemployed / <1 year / 1-5 years / Employed by Current Employer for 5-8 years / >8 years Installment in % of Available Income <15 / 15.3 Total no running account 0 0 0 274 no balance 1 0 0 269 >$300 0 1 0 394 <= $300 0 0 1 63 22 .6 / 7 or more skilled employee / self-employed / Occupation unskilled with no permanant residence / unskilled with permanant residence 15 Referências Apêndice A Categorização de Covariáveis X1-Balance of Current Account Categorização D1. Variáveis Descrição Credit Rating Flag: Bom ou Mau pagador <= 300/ >300 / no balance Balance of Current Account / no running account Duration of Credit In Months Hesitant / No previous Credits / Payment of Previous Credits No problems with current Credits / Paid Back / Problematic running accounts business / furniture / household appliances / Purpose of Credit new car / other / repair / retraining / television / used car / vacation Amount of Credit Valor do crédito entre: $350 e $25793.4 / 5.25 / 25-35 / >35 Marital Status single / divorced / married / widowed Gender Female / Male Living in Current Household for <1 year / 1-5 years / 5-8 years / >8 years no assets / car / Most Valuable Assets life insurance / house or land Age 18-73 no further running credits / Further running credits at department store / at other banks Type of Apartment free / owned / rented Number of previous credits at this bank 1 / 2.1 D1.2 D1. cujas covariáveis estão descritas na tabela abaixo.14 Aplicação Para realizar esta aplicação utilizamos o banco de dados CreditScoring extraı́do do software Statistica.

2 D4.1 Total <= 25 months 0 770 > 25 months 1 230 Figura 14: Segmentação .2 Total <= $6125. X2-Duration of Credit Categorização D2.6 D4.8 D4.2 D3.4 D4.5 D4.1 D4.9 Total business 0 0 0 0 0 0 0 0 0 12 furniture 1 0 0 0 0 0 0 0 0 280 household appliances 0 1 0 0 0 0 0 0 0 22 new car 0 0 1 0 0 0 0 0 0 103 other 0 0 0 1 0 0 0 0 0 234 repair 0 0 0 0 1 0 0 0 0 50 retraining 0 0 0 0 0 1 0 0 0 97 television 0 0 0 0 0 0 1 0 0 12 used car 0 0 0 0 0 0 0 1 0 181 vacation 0 0 0 0 0 0 0 0 1 9 X5-Amount of Credit Categorização D5.1 D3.4 Total Hesitant 0 0 0 0 40 No previous Credits 1 0 0 0 530 No problems with current Credits 0 1 0 0 88 Paid Bac 0 0 1 0 293 Problematic running accounts 0 0 0 1 49 X4-Purpose of Credit Categorização D4.00 0 0 778 6125 <x <= 12500 1 0 167 >12500 0 1 55 Figura 15: Segmentação para Amount Cre- dit 23 .3 D3.1 D5.7 D4.3 D4.Duração de Crédito X3-Payment of Previous Credits Categorização D3.

700 0 1 0 0 63 1-5 years 0 1 0 0 339 700 .25 1 0 0 157 divorced 1 0 0 50 25-35 0 1 0 231 married 0 1 0 310 >35 0 0 1 136 widowed 0 0 1 92 X10-Gender Categorização D10.1 D13.1 Total Female 0 690 Male 1 310 X11-Living in Current Household for X12-Most Valuable Assets Categorização D11.1 D9.2 D8.3 Total Categorização D12.1 D7.3 Total Categorização D9.3 Total <1 year 0 0 0 130 no assets 0 0 0 282 1-5 years 1 0 0 308 car 1 0 0 232 5-8 years 0 1 0 149 life insurance 0 1 0 332 >8 years 0 0 1 413 house or land 0 0 1 154 Figura 16: Segmentação por Idade X13-Age X14-Further running credits Categorização D13.3 Total Categorização D14. X6-Value of Savings X7-Employed by Current Employer Categorização D6.2 Total <= 20 0 0 0 57 no further running credits 0 0 814 20 <= Age <= 35 1 0 0 599 at department store 1 0 47 35 <Age <= 50 0 1 0 248 at other banks 0 1 139 >50 0 0 1 96 24 .2 D11.4 Total Sem Poupança 0 0 0 0 603 unemployed 0 0 0 0 62 <140 1 0 0 0 103 <1 year 1 0 0 0 172 140 .1 D12.1 D11.2 D6.3 D7.2 D12.2 D13.3 Total <15 0 0 0 476 single 0 0 0 548 15.2 D9.3 D6.1400 0 0 1 0 48 5-8 years 0 0 1 0 174 >1400 0 0 0 1 183 >8 years 0 0 0 1 253 X8-Installment in % of Available Income X9-Marital Status Categorização D8.2 D7.1 D8.4 Total Categorização D7.1 D14.1 D6.

rep("cyan".1 D17. col=c( rep("cyan".segmented".2 Total free 0 0 179 owned 1 0 107 rented 0 1 714 X16-Number of previous credits at this bank Categorização D16.header=T. rep("yellow".5).3 Total 1 0 0 0 633 2 até 4 1 0 0 333 5 até 6 0 1 0 28 7 or more 0 0 1 6 X17-Occupation Categorização D17.1 D15. 25 .2 D16.col=c( rep("green".sep="") dim(dados) attach(dados) x0<-1 .3).txt". max(x5) hist(x5. max(x2) hist(x2.txt".3 Total skilled employee 0 0 0 630 self-employed 1 0 0 148 unskilled with no permanant residence 0 1 0 22 unskilled with permanant residence 0 0 1 200 B Código em R # ------------------------------.sep="") attach(segm) min(x2) .Pacotes -------------------------------- library(MASS) require(stats) library(ROCR) library(Epi) require(xtable) library(xtable) # ---------------------------.2:71]) dados1<-dados #---------------------.1 D16.7)).dados[.75). X15-Type of Apartment Categorização D15. main="Duration of Credit . rep("yellow".7) ). x<-cbind(x0.Dados ------------------ dados<-read.table("segmentacao.2 D17. xlab = "In Months") min(x5) .header=T.table("DataCreditScoring_D.Segmentaçoes ---------------------- segm<-read. xlim=c(0.3).

c) par(mfrow=c(1.I.700)] # test<-dados1[-posi. rep("pink".3).i.train_good)[sample. main="Amount of Credit .names=F. sep=" ".1+D12.1]==1) # train_bad<-bad[sample.cont) # } xtable(A.4 + D8. max(x13) hist(x13.train<-glm(y ~ D1.1. quote=F) # modelo.c<-vector() # while(modelo.1 + D6.] .train$y ~ modelo. xlab = "In Dollar") min(x13) .2 + D2.train$model) 26 .train) head(modelo. main="ROC .train$fitted.family=binomial(link="logit")) # fit.train.data=train.210)] # # Clientes Bons # good<-which(dados1[.Amostra de Treinamento ---------------.1+ D3.1]==0) # train_good<-good[sample.train) # cont<-cont+1 # a.C<-stepAIC(modelo.int(700.1+ # D15.1).PV=T.i.80).ime. row.1)) ROC(form = modelo.1 + D7. xlab = "In Years") # ---------.segmented".i.model<-modelo. plot="ROC".490)] # posi<-c(train_bad.table(train.I.train$aic # cat(" ". MX=T.Odds Ratio ------------------------ names(modelo.Data Train") # ----------------.2 + D4.c[cont]<-modelo.usp.segmented".4 + # D5. train<-dados1[posi. data=train.3). file="train.train) anova(modelo.int(300. rep("green".4 + D4.xlim=c(10.txt".# # cont<-0 .5)).C) min(a.values. a.test= "Chisq") A.train # source("http://www. AUC=T.] #write.int(700.col=c( rep("cyan".1 + D1.main="Age .br/~giapaula/envelr_bino") summary(modelo. rep("yellow".train$aic>658){ # Cliente Maus # bad<-which(dados1[.

m .M+B m<-mm+mb b<-bm+bb c1<-c("Prediçoes". n) (mc<-data.classif) tt[1:20.c4)) (Sensibilidade = mm/M)*100 (Especificidade = bb/B)*100 27 .0. mb<-0 .1.0.0.0.0.mr<-sort(pi)[650:700] clientes[pi.mr[i].1])){ifelse( tt[i. B<-mb+bb .Matriz de Confus~ ao -------------------- classif<-modelo.values classif[classif>0.] mm<-0. mb<-mb+1. n<.mn[i].mb . bb<-bb)} for(i in 1:length(tt[.0. bm<-bm+1. pi) head(clientes) pi.1]. bb<-bb+1. "Mau".frame(c1.mm .mn<-sort(pi)[1:10] pi.1.0) xi<-c(1. "Total" ) c2<-c("Mau".0.mn. mm<-mm)} for(i in 1:length(tt[.1.1])){ifelse( tt[i.0.c2.b .1]==0 & tt[i.210]<-1 . bm<-0 . bb. bm<-bm)} for(i in 1:length(tt[.2]==0.0.0.1.]) xi__1<-c(1.bm .1]==1 & tt[i.2]==0.] which(clientes[. mb<-mb)} M<-mm+bm .1]==0 & tt[i.0.]) for(i in 1:10) print(clientes[clientes$pi==pi.train$model clientes<-cbind(clientes.0.1])){ifelse( tt[i.1. B ) c4<-c("Total".0. bb<-0 for(i in 1:length(tt[.mn[4]) for(i in 1:10) print(clientes[clientes$pi==pi.1) w<-function(v){ v<-as.c3.0.1])){ifelse( tt[i.clientes<-modelo.0. "Bom". classif[classif<1]<-0 tt<-cbind(train[.1.1]==1 & tt[i.vector(v) print(v) return(exp(v%*%bts)) } (OR<-w(xi__1)/w(xi)) # -----------. mm<-mm+1.train$fitted.2]==1.14]==pi.1.2]==1. M ) c3<-c("Bom".

"green").Teste KS ------------------ require(stats) library(stats) cl<-modelo.0.2 + D2.performance(pred.(ACC = (bb+mm)/n)*100 (VPP = mm/m)*100 (VPN =bb/b)*100 (PVL = (mm + bm)/n)*100 (MCC = (mm*bb .train$fitted. col="cyan".2 + D4.main="Classes") for (runi in 1:length(pred@predictions)) { lines(density(pred@predictions[[runi]][pred@labels[[runi]]=="0"]). col="red") } # -----------.train$y pred <.’tpr’. xlim=range(c(x_bad.1 + D3. legend= c("Maus Pagadores".w1 <-glm(y ~ D1.’fpr’) par(mfrow=c(1. main="Distr. "Bons Pagadores").1 + D12. col=c("cyan". add=TRUE.modelo.mb*bm) / sqrt((mm+bm)*(mm+mb)*(bb+bm)*(bb+mb)))*100 # ----------------------. alternative="t") #------------------. pch=16.ll) #perf <.1).1 + D6.7).1.1)) plot(0.4 + D4.type="n".graph() plot(ecdf(x_bad).prediction(pp.values ll <.Infer^ encia sobre os Par^ ametros --------- # Teste De Wald # # H0: bj = 0 install.train$fitted.2).1 + D15.packages("lmtest") library(lmtest) modelo.4 + D5. x_good. xlim= c(0.1 + D7.x_good)). ylab="Density".family=binomial(link="logit")) 28 .pch=16 .col="green". lty="dashed".4 + D8. xlab="Cutoff". col= "blue") lines(density(pred@predictions[[runi]][pred@labels[[runi]]=="1"]).data=train.test(x_bad. Empı́rica Das Classes" ) plot(ecdf(x_good). lty=5.Gráficos ----------------------# pp <.modelo.210] win.pch=16) legend("bottomright".values x_bad<-cl[cl>0.210] x_good<-cl[cl<=0. bty="n" ) ks. ylim=c(0. lty=c(5.

1 + D7.1 + D6.family=binomial(link="logit")) modelo.4 + D5.data=train.1 + D12.1 + D1.1 + D7.1 + D6.1 + D15.4 + D8.1.4 + D4.w4 <-glm(y ~ D1.2 + D4.4 + D5.4 + D4.family=binomial(link="logit")) modelo.train) Sigma<-vcov(modelo.1 + D7.family=binomial(link="logit")) (WW<-waldtest(modelo.1 + D3.4 + D4.1 + D6.1 + D12.1 + D15.2 + D4.1 + D12.1 + D15.w6 <-glm(y ~ D1.4 + D4.1 + D15.1 + D7.1 + D15.1 + D4.4 + D4.train.2 + D4.1 + D7.1 + D6.1 + D6.Betas[i]^2 / (Sigma[i.w1 <-glm(y ~ D1.2 + D4.1.1 + D3.1 + D3.data=train.1 + D15.4 + D5.data=train.1 + D12.1 + D15.w3 <-glm(y ~ D1.1 + D7.family=binomial(link="logit")) modelo.1 + D7.w0 <-glm(y ~ -1 + D1.data=train.2 + D2.1 + D1.train) Betas<-coef(modelo.family=binomial(link="logit")) modelo.1 + D15.1 + D8.train) for(i in 1:13) Sxx<-(Sigma[i.4 + D5.1.w5 <-glm(y ~ D1.family=binomial(link="logit")) modelo.4 + D5.1 + D7.1 + D15.4 + D4.1 + D1.4 + D8.2 + D2.4 + D8.4 + D5.1. j=1.data=train.4 + D8.1 + D6.family=binomial(link="logit")) modelo.1 + D12.2 + D2.1.4 + D8.1 + D7.w2 <-glm(y ~ D1.1 + D7.1 + D1.1 + D12.1 + D7.2 modelo.1 + D3.1 + D15.1 + D6.1.1 + D15.4 + D4.test = "Chisq")) # Ou desta forma W<-vector() Sxx<-vector() coeftest(modelo.1 + D1.1 + D3.modelo.i]) (valor_p<-pchisq(W.2 + D4.1 + D12.4 + D4.1.2 + D4.1 + D1.1.data=train.1 + D6.1 + D1.modelo.family=binomial(link="logit")) modelo.1.4 + D6.data=train.2 + D4.1.w11<-glm(y ~ D1.4 + D5.1 + D1.family=binomial(link="logit")) modelo.1 + D6.family=binomial(link="logit")) modelo.data=train.4 + D4.1 + D6.1 + D12.1 + D6.1 + D12.data=train.1 + D3.4 + D4.family=binomial(link="logit")) modelo.4 + D5.1 + D1.4 + D8.1 + D12.2 + D2.1 + D6.w7 <-glm(y ~ D1.4 + D8.4 + D8.1.data=train.1 + D15.2 + D2.1 + D3.1 .1 + D12.family=binomial(link="logit")) modelo.4 + D8.family=binomial(link="logit")) modelo.1.family=binomial(link="logit")) modelo.1 + D12.1 + D2.data=train.4 + D5.2 + D2.4 + D12.1 + D3.4 + D8.data=train.1 + D7.2 + D2.4 + D8.4 + D4.2 + D4.w10<-glm(y ~ D1.1 + D3.2 + D4.w9 <-glm(y ~ D1.2 + D4.2 + D3.1 + D6.1 + D1.data=train.1 + D3.2 + D4.w2 <-glm(y ~ D1.2 + D5.4 + D5.2 + D2.1 + D4.1 + D15.2 + D4.data=train.4 + D8.1 + D3.w4 <-glm(y ~ D1.1 + D7.1 + D3.4 + D4.2 + D2.w8 <-glm(y ~ D1.w1.family=binomial(link="logit")) modelo.1 + D15.1 + D1.1 + D7.4 + D4.2 + D4.2 + D2.1 + D1.w12<-glm(y ~ D1.2 + D4.data=train.4 + D5.4 + D8.4 + D4.4 + D5.1 + D1.w3 <-glm(y ~ D1.2 + D2.1 + D2.2 + D3.4 + 29 .2 + D2.1.1.688)) #Teste da Raz~ ao de Verossimilhança# # H0: bj = 0 # Sem o j-ésimo beta .4 + D5.i]) for(i in 1:13) W[i]<.1 + D12.

data=train.1 + D6.1 + D15.train))-length(coef(modelo.w3)) gl3 <.4 + D6.1 + D12.1 + D3.1 + D12.1 + D3.w8 <-glm(y ~ D1.2*(logLik(modelo.train))-length(coef(modelo.w2)) gl2 <.length(coef(modelo.w10<-glm(y ~ D1.2*(logLik(modelo.gl3) TRV4<.1 + D3.4 + D4.1.1 + D1.gl0) TRV1<.w9)) gl9 <.2 + D2.1 + D15.data=train.w5 <-glm(y ~ D1.4 + D4.family=binomial(link="logit")) modelo.train))-length(coef(modelo.length(coef(modelo.2*(logLik(modelo.4 + D4.gl4) TRV5<.2*(logLik(modelo.gl1) TRV2<.length(coef(modelo.w5)) gl5 <.train)-logLik(modelo.1.length(coef(modelo. p8<-1-pchisq(TRV8.train))-length(coef(modelo.2 + D2.1 + D3.1.4 + D8.data=train. p0<-1-pchisq(TRV0.1.train))-length(coef(modelo.w9 <-glm(y ~ D1.2 + D2.1 + D3.2 + D2.2 + D2.1 + D3.train)-logLik(modelo. p6<-1-pchisq(TRV6.w6)) gl6 <.4 + D8.2 + D2.w4)) gl4 <. p5<-1-pchisq(TRV5.w6)). p7<-1-pchisq(TRV7.4 + D8.1 + D7.1 + D7.w8)) gl8 <.1 + D12.w1)) gl1 <.length(coef(modelo.1 + D3.train))-length(coef(modelo.4 + D12.1 + D6.1 + D7.gl2) TRV3<.4 + D5.2 + D4.2 + D4.family=binomial(link="logit")) modelo.gl5) TRV6<.train)-logLik(modelo.1 + D15.train))-length(coef(modelo.4 + D4.4 + D8.1 + D7.1 + D8.w7)).2 + D4.w0)).2*(logLik(modelo.4 + D4.2*(logLik(modelo.1 + D12.1 + D1.1 + D6.data=train.1 + D7.length(coef(modelo.4 + D4.w9)).w12<-glm(y ~ D1.2*(logLik(modelo.1 + D1.2 + D2.4 + D5.1 + D6.2 + D4.2*(logLik(modelo.family=binomial(link="logit")) modelo.1 + D6.gl8) TRV9<.1 + D15.train)-logLik(modelo.1 + D12.w5)).data=train.4 + D8.data=train.family=binomial(link="logit")) TRV0<.train)-logLik(modelo.1 + D3.w8)). D5.2 + D2.w6 <-glm(y ~ D1.w7)) gl7 <.2*(logLik(modelo.1 + D1.4 + D5.gl7) TRV8<.gl6) TRV7<.2*(logLik(modelo.w11<-glm(y ~ D1.1.4 + D5.4 + D8. p3<-1-pchisq(TRV3.length(coef(modelo.data=train.w3)).train)-logLik(modelo.2 + D4.train)-logLik(modelo. p4<-1-pchisq(TRV4.w10)) 30 .1 .length(coef(modelo.1.1 + D1.w0)) gl0 <.2 + D5.length(coef(modelo.4 + D8.1 + D15.length(coef(modelo.train))-length(coef(modelo.4 + D4.1 + D6.data=train.4 + D5.1 + D1.4 + D4.1 + D1.w1)).2*(logLik(modelo.2 + D4.1.1 + D12.w7 <-glm(y ~ D1.family=binomial(link="logit")) modelo.1 + D1.1 + D7.1 + D15.w4)).train))-length(coef(modelo.train)-logLik(modelo. p9<-1-pchisq(TRV9.train)-logLik(modelo.1 + D15.family=binomial(link="logit")) modelo.1 + D15.1 + D7.1 + D7. p1<-1-pchisq(TRV1.w1)).family=binomial(link="logit")) modelo.train)-logLik(modelo.train))-length(coef(modelo.1 + D12.family=binomial(link="logit")) modelo.train)-logLik(modelo.family=binomial(link="logit")) modelo.gl9) TRV10<.4 + D5. p2<-1-pchisq(TRV2.data=train.1 + D6.1.

n.gl12) TRV<-c(TRV0.train) cb<-cbind(coef(modelo.train))-length(coef(modelo.2*(logLik(modelo.gl7.-1]) head(X) 31 .vector(IC_p[.TRV9.f<-as. col="red".p12) gl<-c(gl0.train$linear. lty = 4 .gl10. p10<-1-pchisq(TRV10.gl12) A<-cbind(TRV.lty = 3 .gl1.TRV12) p<-c(p0.train)-logLik(modelo. type=’l’) lines(S.w11)).p<-as.w10)).n.main=expression(hat(beta)) . p) # INTERVALO DE CONFIANÇA PARA Os Par^ ametros IC_p<-confint(modelo.p7.p10.gl11.col="black".train) I.p4. pch=16.ylab="IC".u.TRV1.2]) par(mfrow=c(1.train).p9.w12)).w11)) gl11 <. gl.gl4.p5. type=’l’) # INTERVALO DE CONFIANÇA PARA O LOGITO names(modelo.gl9.p1.length(coef(modelo.train))-length(coef(modelo. add=T.u.p8. lty = 1 .train) head(modelo.gl10) TRV11<.gl6.modelo.p11.gl11) TRV12<. p12<-1-pchisq(TRV12.gl5.1]) S.length(coef(modelo.TRV6.pch=16 .TRV4.length(coef(modelo.TRV8.TRV10. pch=16.IC_p) xtable(cb) IC_p<-confint(modelo. ylim=c(min(I.vector(IC_p[.p3.w12)) gl12 <. S_ij<-c() X<-cbind(x0.train$model) phi<-modelo.1)) plot(coef(modelo.train$model[.u. p11<-1-pchisq(TRV11.n.gl3.gl2.f).p2.max(S.TRV2.2*(logLik(modelo.train))-length(coef(modelo.train)-logLik(modelo.f.gl10 <.TRV3.train).predictors S_ii<-c() .TRV11.p6.p)).gl8. type=’l’) lines(I. col="blue".TRV7.TRV5.p.

lty = 1 .f.n. type=’l’) (IC. add=T. pch=16.phi) par(mfrow=c(1.pi).odds<.n.u.n.vector(IC_p[.n.L)/ (1 + exp(S.i]^2)*Sigma[i.L) # Intervalo de confiança para proporçao pi I.f.col="black". type=’l’) lines(I.main=expression(hat(pi(x))) . type=’l’) IC.main=expression(hat(Psi(x))) .n.1)) plot(phi.i]) ) for(j in 1:13){ if(i!=j) { cat("i = ".L) ) cat("IC(L)=(".pi. "\n") S_ij[i]<-sum(2*X[.p. pch=16.pi)).p.u.n.pch=16 . col="red".lty = 3 . pch=16.exp(I.p.96*sqrt(Var. pch=16.f.S. col="red".u.pi)) # Intervalo de confiança para Odds Ratio IC_p<-confint(modelo.train) I.L.f.ylab="IC".u.n.phi<-sum(S_ii + S_ij ) I.n.i.pi.L) ) S. type=’l’) lines(S.L<-phi-1.pi. j.L).p. ylim=c(min(I. lty = 4 .96*sqrt(Var.i]*X[. col="blue".log<-cbind(I.for(i in 1:13) { S_ii[i]<-(sum((X[.".j]*Sigma[i.S.2]) I.col="black".f.n.n.vector(IC_p[.L.pi.j])} } } cbind(S_ii.p.phi) S. lty = 4 .max(S.n.p.f.pi<. type=’l’) lines(S.f. ylim=c(min(I.u.p.f.")" ) par(mfrow=c(1.L)/ (1 + exp(I. col="blue".log<-cbind(I.max(S.p.I.u.u.u.1)) plot(pi.pch=16 .f."\n j = ".u. lty = 1 .S.u.phi.exp(I.L.exp(S.p. type=’l’) lines(I.n.p.f.".f) 32 .pi.u.f.pi<.p<-as.S_ij) Var.f<-as.L<-phi+1.u.f.pi.ylab="IC".L)).p.n.1]) S.lty = 3 .n.

1)) ntot<-c(10.odds.pch=1. main = "Resı́duos de Deviance") abline(h=0.1)) plot(exp(bts).exp(S.model<-ajust source("http://www.n.lty = 3 .p1) rpears<-residuals(ajust. lty = 4 .odds)) xtable(IC.n.odds).type=’deviance’) plot(dev. ylim=c(-3.usp.u.15.br/~giapaula/envelr_bino") 33 .ajust$y) ajust$residuals dev<-residuals(ajust.p2) par(mfrow=c(1.u.698) cbind(QP.f. col="blue".test="Chisq")) cbind(ajust$fitted.p.train)) par(mfrow=c(1.pch=1.vector(coef(modelo. col="red") par(mfrow=c(1.odds)).odds) # ---------.p.10) fit.u.main="Resı́duos de Deviance" .f. pch=16.odds. type=’l’) (IC.pch=16 . ylab="resı́duos deviance".698) cbind(QL. pch=16.train plot(anova(ajust. ylab="resı́duos Pearson".u.odds<-cbind(I. col="red".p) bts<-as.Medidas da Qualidade do modelo ---------------- ajust<-modelo.p.p. col="red") plot(dev.ime.f.3)) abline(h=0.17.lty=3.col="black".main="Resı́duos de Pearson" .lty=1.13.n.values.S.type=’pearson’) QP<-sum(rpears^2) p2<-1-pchisq(QP.max(S.S.8. col="blue") QL<-sum(dev^2) p1<-1-pchisq(QL. ylim=c(min(I.15.ylab="IC".lty=4.u.test="Chisq")) summary(ajust) xtable(anova(ajust.5)) abline(h=0.main=expression(exp(hat(beta))) .odds<. type=’l’) lines(I. type=’l’) lines(S.odds. lty = 1 . ylim=c(-5.1)) plot(rpears.12.exp(bts).

train). h=0) # Resı́duos padronizados da regress~ ao: abline(plot(rstandard(modelo.train).main="Resı́duos do Modelo") .col="red".image ("Credit_Score.1)) # Resı́duos da regress~ ao: abline(plot(resid(modelo. h=0) # Resı́duos de student da regress~ ao: abline(plot(rstudent(modelo.col="red".col="red".train). h=0) save.win.graph() par(mfrow=c(1.main="Resı́duos Padronizados") .main="Resı́duos Studentizados").RData") #Limpar a áreade trabalho da seç~ ao ativa: rm(list = ls(all = TRUE)) 34 .