zoukankan      html  css  js  c++  java
  • R语言做逻辑回归

    前面写过一个多分类的逻辑回归,现在要做一个简单的二分类,用glm函数

    导入csv格式如下:

    mydata<-read.csv("D://li.csv",header=T)
    colnames(mydata)<-c("x1","x2","x3","y")
    model<-glm(formula = y ~ x1+x2+x3, family = quasibinomial(link = "logit"),data = mydata)
    summary(model)
    

      这里family没有使用binomial,那个会报一个警告,

    Warning message:
    In eval(family$initialize) : 二项通用线性模型里出现了非整数的#成功!

    查了一下,有可能数据是不均匀分布(Overdispersion),把family改成quasi的就行了。不过AIC会变成NA,这下拟合的P值就显著多了。

    family = quasibinomial(link = "logit")

    可以参考这个网站:https://stats.stackexchange.com/questions/91724/what-is-quasi-binomial-distribution-in-the-context-of-glm

    这里有介绍两者的区别

    做个图,貌似离逻辑回顾的那个曲线有点差距啊。

    p<-predict(model,type='response')

     plot(seq(-2,2,length=30),sort(p),col='blue')

    补充:family

    binomial(link = "logit") 
    gaussian(link = "identity") 
    Gamma(link = "inverse") 
    inverse.gaussian(link = "1/mu^2") 
    poisson(link = "log") 
    quasi(link = "identity", variance = "constant") 
    quasibinomial(link = "logit") 
    quasipoisson(link = "log")
  • 相关阅读:
    jquery index与eq
    尝试一下
    document
    2017-03-28 java script DOM操作
    2017-03-25 CSS 样式
    CSS 样式表分类
    CSS 样式表
    HTML 框架
    表格
    HTML常用标记
  • 原文地址:https://www.cnblogs.com/marszhw/p/11355299.html
Copyright © 2011-2022 走看看