电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何用python做逐步回歸

瀏覽:41日期:2022-06-23 13:02:05
算法介紹

逐步回歸是一種線性回歸模型自變量選擇方法;逐步回歸的基本思想是將變量逐個引入模型,每引入一個解釋變量后都要進行F檢驗,并對已經選入的解釋變量逐個進行t檢驗,當原來引入的解釋變量由于后面解釋變量的引入變得不再顯著時,則將其刪除。以確保每次引入新的變量之前回歸方程中只包含顯著性變量。這是一個反復的過程,直到既沒有顯著的解釋變量選入回歸方程,也沒有不顯著的解釋變量從回歸方程中剔除為止。以保證最后所得到的解釋變量集是最優的。這里我們選擇赤池信息量(Akaike Information Criterion)來作為自變量選擇的準則,赤池信息量(AIC)達到最小:基于最大似然估計原理的模型選擇準則。

數據情況案例

在現實生活中,影響一個地區居民消費的因素有很多,例如一個地區的人均生產總值、收入水平等等,本案例選取了9個解釋變量研究城鎮居民家庭平均每人全年的消費新支出y,解釋變量為:x1——居民的食品花費x2——居民的衣著消費x3——居民的居住花費x4——居民的醫療保健花費x5——居民的文教娛樂花費x6——地區的職工平均工資x7——地區的人均GDPx8——地區的消費價格指數x9——地區的失業率(%)

數據

如何用python做逐步回歸

代碼

# -*- coding: UTF-8 -*-import numpy as npimport statsmodels.api as smimport statsmodels.formula.api as smffrom statsmodels.stats.api import anova_lmimport matplotlib.pyplot as pltimport pandas as pdfrom patsy import dmatricesimport itertools as itimport random# Load data 讀取數據df = pd.read_csv(’data3.1.csv’,encoding=’gbk’)print(df)target = ’y’variate = set(df.columns) #獲取列名variate.remove(target) #去除無關列variate.remove(’地區’)#定義多個數組,用來分別用來添加變量,刪除變量x = []variate_add = []variate_del = variate.copy()# print(variate_del)y = random.sample(variate,3) #隨機生成一個選模型,3為變量的個數print(y)#將隨機生成的三個變量分別輸入到 添加變量和刪除變量的數組for i in y: variate_add.append(i) x.append(i) variate_del.remove(i)global aic #設置全局變量 這里選擇AIC值作為指標formula='{}~{}'.format('y','+'.join(variate_add)) #將自變量名連接起來aic=smf.ols(formula=formula,data=df).fit().aic #獲取隨機函數的AIC值,與后面的進行對比print('隨機化選模型為:{}~{},對應的AIC值為:{}'.format('y','+'.join(variate_add), aic))print('n')#添加變量def forwark(): score_add = [] global best_add_score global best_add_c print('添加變量') for c in variate_del: formula = '{}~{}'.format('y', '+'.join(variate_add+[c])) score = smf.ols(formula = formula, data = df).fit().aic score_add.append((score, c)) #將添加的變量,以及新的AIC值一起存儲在數組中 print(’自變量為{},對應的AIC值為:{}’.format('+'.join(variate_add+[c]), score)) score_add.sort(reverse=True) #對數組內的數據進行排序,選擇出AIC值最小的 best_add_score, best_add_c = score_add.pop() print('最小AIC值為:{}'.format(best_add_score)) print('n')#刪除變量def back(): score_del = [] global best_del_score global best_del_c print('剔除變量') for i in x: select = x.copy() #copy一個集合,避免重復修改到原集合 select.remove(i) formula = '{}~{}'.format('y','+'.join(select)) score = smf.ols(formula = formula, data = df).fit().aic print(’自變量為{},對應的AIC值為:{}’.format('+'.join(select), score)) score_del.append((score, i)) score_del.sort(reverse=True) #排序,方便將最小值輸出 best_del_score, best_del_c = score_del.pop() #將最小的AIC值以及對應剔除的變量分別賦值 print('最小AIC值為:{}'.format(best_del_score)) print('n')print('剩余變量為:{}'.format(variate_del))forwark()back()while variate: # forwark()# back() if(aic < best_add_score < best_del_score or aic < best_del_score < best_add_score): print('當前回歸方程為最優回歸方程,為{}~{},AIC值為:{}'.format('y','+'.join(variate_add), aic)) break elif(best_add_score < best_del_score < aic or best_add_score < aic < best_del_score): print('目前最小的aic值為{}'.format(best_add_score)) print(’選擇自變量:{}’.format('+'.join(variate_add + [best_add_c]))) print(’n’) variate_del.remove(best_add_c) variate_add.append(best_add_c) print('剩余變量為:{}'.format(variate_del)) aic = best_add_score forwark() else: print(’當前最小AIC值為:{}’.format(best_del_score)) print(’需要剔除的變量為:{}’.format(best_del_c)) aic = best_del_score #將AIC值較小的選模型AIC值賦給aic再接著下一輪的對比 x.remove(best_del_c) #在原集合上剔除選模型所對應剔除的變量 back() 結果

如何用python做逐步回歸

如何用python做逐步回歸

如何用python做逐步回歸

以上就是如何用python 做逐步回歸的詳細內容,更多關于python 逐步回歸的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 分轨 | 上传文件,即刻分离人声和伴奏| 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 联系我们老街华纳娱乐公司官网19989979996(客服) | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 环比机械| China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 驾驶人在线_专业学车门户网站 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 智慧物联网行业一站式解决方案提供商-北京东成基业 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 |