如何用SPSS做logistic回归

这篇具有很好参考价值的文章主要介绍了如何用SPSS做logistic回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考教程:B站教程👈课讲的挺垃圾的,主要还是看pdf👈pdf其实也蛮垃圾的,主要还是看文献1和2

如何用SPSS做logistic回归

通过该例,我们尝试用年龄、肿瘤大小、肿瘤扩散等级来预测癌变部位的淋巴结是否含有癌细胞。
无法使用多元线性回归模型的原因,老师在这里提到“因为残差不满足正态性、无偏性、共方差性等假设”。(←也是一种思路,可以与之前从吴恩达老师那里学的思路进行比较。)

步骤1

如何用SPSS做logistic回归

步骤2

如何用SPSS做logistic回归
因变量自然就是癌变部位xxx,协变量在这里就相当于自变量的意思?通过百度的搜索,协变量应该是控制变量的感觉,但这里似乎就直接看作自变量了,暂且先这么认为。
可以通过该按钮如何用SPSS做logistic回归将两个变量处理为交互项,放入该协变量组,不过本例中不涉及交互项。
如果想设立多个协变量组,可以通过上一页、下一页进行切换(应该就是设置自变量不同的模型?)

如何用SPSS做logistic回归
方法这里有7种不同的方法,其中输入就是协变量全部进入模型;向前/向后分别代表着向前/向后逐步法(应该涉及到逐步回归的方法),有条件/LR/瓦尔德,分别代表着将变量剔除出模型的不同依据(老师有进行简单说明但暂时听不懂,之后学了逐步回归相关的知识再回来看看)←记得参考pdf教程进行学习,老师解释的内容大多是pdf教程中的

如何用SPSS做logistic回归
下面的选择变量,应该就是可以选择一个变量来设置样本入选的规则,例如年龄小于50才可入选(但好像只能选择一个规则,假如说我要20<年龄<50就做不到?需要通过外部的选择个案来筛选?)

步骤3

如何用SPSS做logistic回归
之后点击右侧第一个按钮:分类,弹出上图所示的对话框,该对话框的作用在于能将一个多分类变量转换成多个二分类变量,也就是转换成哑变量(或称之为虚拟变量)。为什么要这么做呢?假如一个多分类变量的编码分别为0、1、2、3,放在同一个变量中进行回归,得到的回归系数是没有意义的(比如回归系数是10,那就代表1分类比0分类多了10,2分类比1分类多了10…实际情况中,每个分类的区别不会是像这样相同的,甚至正负都有可能不一样)。因此我们要将其转化为哑变量,才能放入回归模型中。不只是在logistic回归中,在其他回归例如多重线性回归里,遇到多分类变量也需要设置哑变量。更多拓展可见:文献1

下方更改对比的意思就是不同的哑变量的编码方式,不同编码方式的区别具体可见文献2,一般来说似乎用默认的“指示符”就可以了:

Indicator(指示对比):用于指定某一分类为参照,指定的参照取决于Reference Category中选择Last还是First,即只能以该变量的第一类或者最后一类作为参照。Indicator为默认方法,也是我们最常用的设置参照类的方法。

假如说想要更改编码方式,就选中要更改的新方式后,点击“变化量”按钮(其实应该是变化change,软件的翻译出错了)

参考类别的意思是,在输出结果后以哑变量中哪个种类作为参照系。我们先来看一下这个变量:
如何用SPSS做logistic回归
那么在参考类别中选中“最后一个”的意思是,以“>5厘米”作为参照系。后续输出结果时,我们能看到各个变量是否是显著的,而这种多分类变量则是进行分类变量内部水平的比较,例如“≤2cm”与“>5cm”相比是否有显著差异,“2-5cm”与“>5cm”是否有显著差异。这可以在结果观测中的块1——⑤方程中的变量 处看到。

设置完哑变量后点击“继续”

步骤4

如何用SPSS做logistic回归
接下来打开保存这一选项,预测值的框如上图所示,较好理解就不解释了,一般来说概率和组成员都可以勾起来,功能都很实用。

—————————————————————————————————————————————

接下来讲解“影响”这一框。
在PDF线性回归的章节中,对于cook距离和杠杆值的解释是:
如何用SPSS做logistic回归

百度百科对cook距离的解释是:
如何用SPSS做logistic回归

也就是说,cook距离是一个用于诊断个案中异常数据的指标,较大的cook距离表示该个案对回归模型(系数)的影响较大。(但影响较大就一定是异常值吗?)不过话又说回来,logistic回归模型中,回归系数的数学意义是什么呢?后续需要再研究一下→见本文结果观测3.⑤或《例解回归分析》P253

杠杆值的作用看起来似乎和cook距离相似,不过后者是测量对回归系数的影响,前者是测量对整体拟合效果的影响?这只是我自己的解读,暂未经过证实,有待后续考证。

DfBeta同样在线性回归的章节中有解释:
如何用SPSS做logistic回归

这看起来也就很好理解了。
————————————————————————————————————————————————————
接下来讲解“残差”这一框。
如何用SPSS做logistic回归
这里面的各个选项同样在PDF线性回归章节中有解释:
如何用SPSS做logistic回归

如何用SPSS做logistic回归
相当好理解。不过偏差是啥?对应的是删除吗?

根据视频演示,一般来说只需勾选如下几个:
如何用SPSS做logistic回归

步骤5

接下来打开选项,看“统计和图”这一栏:
如何用SPSS做logistic回归
根据PDF:
如何用SPSS做logistic回归

其中PDF的P434页解释了该拟合度/统计量的含义,也就是用来检测整个模型的拟合优度(注意该统计量的适用情况!!!):

如何用SPSS做logistic回归

个案残差列表也相对好理解:

如何用SPSS做logistic回归
即输出离群值个案,还是所有个案的上述统计量

估值的相关性、迭代历史记录我不太理解,但看了各种文章似乎都没解释,也没勾上,就先不管了;而exp(B)就是置信区间,很好理解:

如何用SPSS做logistic回归
————————————————————————————————————————————————————————————

接下来看“输出”这一栏:

如何用SPSS做logistic回归
很好理解,一般是按默认的勾选“在每个步骤中”,但这真的不会输出太多表吗?

————————————————————————————————————————————————————————————

接下来看“步进概率”这一栏:
如何用SPSS做logistic回归

查了一下别的文章:
如何用SPSS做logistic回归
还是不太能很好地理解什么叫做“进入模型和从模型中剔除的依据”,在选择变量,还没有开始跑模型的时候已经做了一次显著性检验了吗?还是说只是单纯地,在跑完模型之后,看看各个自变量是否对因变量有显著影响,以p≤0.05作为有显著影响的标准,以p>0.10作为没有显著影响的标准?←有待后续验证←已解决,见结果观测的第二个表

后续的几项相对好理解:
如何用SPSS做logistic回归

一般来说只要勾选以下这些,看别的文章也有多勾个置信区间的(本PDF也勾了):
如何用SPSS做logistic回归

结果观测

文献1:完整的二元logistic回归spss教学
文献2:与文献1相互补充,使用同一数据集

↑以上两篇文献相当重要,之后的说明很大程度上也以它们为主,以PDF为辅(因为感觉PDF很多表都没说清楚)

1.输出表格的第一部分:回归前的情况概览

输出的表可以分为三大部分,第一大部分有三个表:

如何用SPSS做logistic回归
可以理解为在回归前进行的各种处理,其中第三个表就是解释虚拟变量设置的,总共分为三组,小于等于2cm的编为为(1,0),有739个样本,其余如表所示同理可得。

——————————————————————————————————————————————————————————

2.输出表格的第二部分:起始块

如何用SPSS做logistic回归
块0:起始块,指的是模型中未纳入任何自变量,只有常数项时的输出结果。也可以称之为基线模型或无效模型。在起始块中一般我们只需要看第三个表,不过来都来了还是全介绍下。

①分类表

模型中只有常数项时,预测结果的正确率,本例为81.8%

②方程中的变量

解释第二个表之前我们需要先来了解一个瓦尔德统计量:

如何用SPSS做logistic回归

如图中所述,该统计量是用来检验各自变量与因变量之间是否存在显著的线性关系,这让我联想到了线性回归中要进行的两个检验——T检验与F检验,其中,F检验是检验整个模型的,而T检验则与此处的利用wald统计量进行的检验相似,用来检验各回归系数是否显著。

回到第二个表中来,由于P<0.05,因此拒绝原假设,即β≠0,常数项不等于0。(不过由于未纳入其他变量,该表也是无意义的)

但要注意的是,除了PDF中所说的解释变量的系数绝对值较大时不适合用wald检验外,文献2还提到了存在共线性时同样不适合适用wald检验:

如何用SPSS做logistic回归

联想了一下T检验,听起来似乎确实如此。

③未包括在方程中的变量

在块0中,除了常数项,其他都可以称作“未包括在方程中的变量”
我们来看看文献1是怎么说的:

如何用SPSS做logistic回归

所谓“现有模型”就是指仅有常数项的基线模型。不过有一点不明白的是,此处检验模型是否改善用的是什么方法?我们来看看PDF上是怎么说的:

如何用SPSS做logistic回归
该表解释了前面提到的【选项】→【步进概率】的作用,即在拟合前进行卡方检验,分别检验每个自变量与因变量“是否有癌细胞”的关系,从而得出显著性水平,再与进入(0.05)和删除(0.10)的两个值进行比较。由于本例中所有变量显著性都小于0.05,因此都没有删除。

问题1:等一下,卡方检验的自变量因变量不都应该是定类的数据吗?年龄、肿瘤大小作为定距的数据,为啥可以进行卡方检验?????而且在线性回归中也没有这个步骤啊,在没有控制变量的情况下对单个变量进行单独的检验真的有意义吗?在线性回归里不是做完回归后,对各个自变量的回归系数进行t检验吗?

问题2:如果p值在0.10和0.05之间,那要怎么处理?按照文献1似乎也要舍弃?

问题3:这个得分是啥来着我有点忘了,卡方检验好像确实是有好几种得分计算方式的。

总结:这个点研究了好长时间都没能弄明白,暂时先放过自己吧。可能此处的卡方检验和我之前所学的狭义上的卡方检验不太一样?只是利用了卡方统计量进行了某种别的检验?

—————————————————————————————————————————————————————————————

3.输出表格的第三部分:块1

如何用SPSS做logistic回归

①模型系数的omnibus检验

关于该检验,我到最后都没完全弄懂,只能集各方资料之和去尝试理解。
先来看一下模型、块、步长是啥:

如何用SPSS做logistic回归

由于我们的例子中只有一组解释变量,并且选择了“输入”的方法,将所有自变量一次性同时全部放入模型,因此在第一个表中,步骤、块、模型的相关数据都是一样的。

那么omnibus检验到底是干了啥?以下摘自各种文献:


如何用SPSS做logistic回归


如何用SPSS做logistic回归


如何用SPSS做logistic回归


如何用SPSS做logistic回归
注意:此处也称该检验为“似然比卡方检验”,这与下文中文献4所提及的检验,以及《例解回归分析》P255中提到的检验看起来较为相似。只不过《例解》中是用两模型的似然值之差,而文献4用的是两模型的似然值之比。同时,在《例解》中也是用这一方法判断模型是否得到优化,从而决定变量的去留,这与Omnibus检验想要做的事情是一致的。所以Omnibus检验就是似然比卡方检验?

👉突然发现文献2说的也是两模型似然值(不过是-2对数似然值)之差:

如何用SPSS做logistic回归


以及最终来看看PDF上是咋说的:
如何用SPSS做logistic回归
综上所述,omnibus检验做的事情就是将加入了各个自变量的模型与块0中的基线模型进行比较,显著则说明这些自变量的加入是对模型有价值的。听起来其实和块0表3中的“总体统计”很像。(不过说了这么多我还是不太理解原理就是了)

但有一点比较奇怪的是PDF上的说法和其他地方的说法不是那么像,“解释变量全体与Logit p之间的线性关系显著”听起来就像是多元线性回归中的F检验。不知道是不是我理解的问题,总之先按照其他地方的说法来理解。(特别是根据上方的“注意”,看了《例解》后我愈发觉得PDF上的说法不靠谱)

文献3:拓展读物(涉及了omnibus检验的其他一般用法)

——————————————————————————————————————————————————————————

②模型摘要

如何用SPSS做logistic回归
首先我们要了解一下什么叫【似然比检验】:
注意:文献4中的似然比检验在原理上和该表的相似,但具体的公式、细节并不相同

文献4:似然比检验→顺便来道题回味一下:极大似然估计例题

文献4先告诉了我们什么叫做似然函数:

如何用SPSS做logistic回归

似然比检验:

如何用SPSS做logistic回归

借助极大似然估计法的思想,令似然函数取得最大值时,参数θ的估计值就最可能是其实际值;反过来,当θ的估计值越接近实际值,似然函数也就会越大!
因此,似然比的公式就是让备择假设θ1的似然函数/原假设θ0的似然函数,如果λ>1,θ1的似然函数大于θ0的似然函数,那就说明θ1比θ0更接近参数实际值(听起来有点像方差分析中的F检验)。如上图所述,当λ大于某个临界值时,就可以拒绝原假设。

—————————————————————————————————————————————

两个需要区分的概念:
1.似然值和似然比:我们统一称由似然函数计算出的值为似然值,而非似然比。因为似然比听名字总让人联想到两个似然函数的比值。像在PDF中提到的“似然比值”其实就是似然值。

2.似然值和对数似然值:网上查到的,以及《高级心理统计》中用的-2LL(log likelihood)指的是-2倍的对数似然值,即对似然值取对数再乘以-2。是否取了对数影响到了值域

如何用SPSS做logistic回归

(上图即为-LL)

—————————————————————————————————————————————

如何评价逻辑回归模型的拟合度

如何用SPSS做logistic回归
如何用SPSS做logistic回归

如图中所述,由于似然函数是概率的累乘,因此似然值必定在0~1之间,-2*似然值的值域为(-2,0)。而SPSS中的“-2对数似然”取值则为(0,+∞),所以例子里能取到八百多是正常的。

似然值越大,拟合效果越好,相对应的就是对数似然越大,以及-2对数似然(-2LL)越小,拟合效果越好。

Cox和Nag两种伪测定系数也很好理解,看上图,以及pdf中:
如何用SPSS做logistic回归
(补充最后一句话:“说明回归方程的拟合度越高”)

不过要注意的是,“由于它们不能直接反映模型对结果变量方差的解释比例,因此不是真正意义上的测定系数,故命名为伪测定系数”

此外,在《例解》p257中也有提到其他测量拟合度的指标——根据分类的准确度来评判模型的拟合度,具体看书。
—————————————————————————————————————————————

如何用SPSS做logistic回归

回到表2本身来,尽管我们知道了-2对数似然越小,拟合效果越好,但是有没有什么判断的标准呢?该表中也没有一个显著性检验的P值让我们参考。

PDF中是这么说的,感觉很不靠谱:
如何用SPSS做logistic回归

文献2中提到:

如何用SPSS做logistic回归

文献1中提到:
如何用SPSS做logistic回归

综上,不管是-2对数似然,还是两个伪测定(决定)系数,都应该是进行模型间的比较来得出拟合效果是否得到优化,而不是单纯地看值的大小(尽管Nagelkerke R²越接近1拟合度越高,但由前文可知,这个指标也不能反映真正的方差解释比例)

—————————————————————————————————————————————————————————————

③霍斯默-莱梅肖检验(同为拟合度检验)

该表在文献1、2中是没有的,原因在于该拟合度检验的应用场景不太一样:
如何用SPSS做logistic回归

HL检验的文章1
HL检验的文章2 ←基本上看文章2就可以了
HL3

如何用SPSS做logistic回归

复习一下卡方检验的卡方统计量:
如何用SPSS做logistic回归

如何用SPSS做logistic回归

结合上述的四个步骤,以及列联表卡方检验的原理,我们可以发现这个Hosmer检验其实很简单:先是按预测概率由小到大排序分组,例如上表中第一组是含癌细胞概率最小的组,第十组则概率最大。得出实测f0与期望fe之后,便可以计算卡方统计量了。然后根据卡方的P值来确定实际情况与预测结果之间的差异是否显著,从而判断出该模型的拟合效果好不好。简单来说,就是在传统的列联表卡方检验之前需要做一个分组的工作。

—————————————————————————————————————————————————————————————

④分类表(预测正确率)

这个表我们在块0中也有见过,翻上去看看,当时的正确率是81.8%;
而此处,没有癌细胞的正确预测率虽然很高,但有癌细胞的正确预测率不到10%,整体预测的正确率甚至还不如基线模型!

如何用SPSS做logistic回归

—————————————————————————————————————————————————————————————

⑤方程中的变量

如何用SPSS做logistic回归
这个表是我们的老朋友了,详情可以见起始块②这一部分。从该表中我们可以看到,年龄是不显著的;肿瘤扩散大小是显著的;结合步骤3中的说明,扩散等级1(≤2厘米)与扩散等级2(2-5厘米),与“>5厘米”相比都是显著的。

B代表的是解释变量的回归系数,那Exp(B)是什么意思?从文献1得知:

如何用SPSS做logistic回归

结合p值与OR值进行综合解释(文献1):
(ps:文中说的“其他种族”指的并不是除了某个种族外的其他种族,而是一个确实存在的分类叫做其他种族,在此处被作为参照系)

如何用SPSS做logistic回归

上面的说法有点容易让人产生疑惑,难道黑人是其他种族发生事件概率的1.4倍,也是没有差异吗?答案应该确实如此,你看白人0.4倍,相比于黑人的1.4倍,差异确实是更大的,因此在统计学上才是显著的。←此处是我自己的猜想,但应该没错

此外,还需要注意的是,在做自变量筛选时,哑变量遵循同进同出原则,整体上不满足,即使单个分类满足也不纳入(摘自文献1)

4.结果观测总结

写了一大堆的结果观测的指标,有些不同指标的意义是重复的,整体上显得比较凌乱,下文综合梳理一下。

块0
在回归前先看起始块的第三个表“未包括在方程中的变量”,看看和基线模型相比这些新加入的变量是否有价值

后续步骤

逻辑回归并不是这样跑一次就结束了,后续的步骤从文献1的这里开始读:
如何用SPSS做logistic回归
—————————————————————————————————————————————————————
什么叫做“先做单变量筛选”呢?我个人认为指的就是把上表中不显著的变量剔除,留下红框中显著的变量。
但事实上这么做又不完全对,文献2里面提到:
如何用SPSS做logistic回归

比分检验我有点不知道指啥,但似然比检验指的就是-2对数似然及其相对应的两种R²。

文献1提到的多变量自动筛选又是啥?就是在步骤2的对话框中,将方法由输入切换成向前LR/向后LR,通过SPSS的自动筛选方法选出合适的自变量,文献2也是这么教的。所以前面这个我们很熟悉的,利用wald检验的“方程中的变量”的表似乎可以无视了?或者说参考参考,简单看看就好。

后续就很简单了,继续按文献1中的思路,根据向前/向后LR给出的多次迭代结果,比较R²、预测准确率这些数据,看看迭代多次的模型效果如何,以及还有哪些自变量包含在最终的模型中。如果有一些被剔除的变量但根据专业知识却是认为有用的,就可以强行纳入,然后再用输入的办法跑一遍,得到最终的模型即可。

所以中间说了半天的一大堆指标,比如omnibus检验和霍斯默-莱梅肖检验就没用了?←omnibus好像还真没用上,而霍斯默-莱梅肖检验的应用场景不太一样(虽然我也没完全搞懂),其他所有指标都用上啦~!文章来源地址https://www.toymoban.com/news/detail-462921.html

到了这里,关于如何用SPSS做logistic回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习(五)logistic回归

    目录 1.Logistic回归概述 1.1 Sigmoid函数 1.2 基于最优化方法的最佳回归系数确定 1.2.1 极大似然估计 1.2.2 梯度上升法 1.2.3 梯度下降算法  2.Logistic实例分析 2.1准备数据 2.2使用梯度上升算法进行分类 3.实验总结  Logistics回归模型通常被用于处理二分类问题,它是一种用于分析各个

    2024年02月05日
    浏览(46)
  • 逻辑回归(Logistic Regression)

    在分类问题中,你要预测的变量 y是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。 在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是

    2024年02月09日
    浏览(35)
  • 逻辑回归Logistic

    回归 概念 假设现在有一些数据点,我们用一条直线对这些点进行拟合(这条直线称为最佳拟合直线),这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方程。 最后结果用sigmoid函数输出 因此,为了实现 Logistic 回归分类器,我们可以在每个特征上都乘以一个回

    2024年02月09日
    浏览(35)
  • 逻辑回归(Logistic Regression)

    入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。   目录 一、逻辑回归简介与用途 二、逻辑回归的理论推导 1、问题描述和转化 2、初步思路:找一个线性模型来由X预测Y 3、Sigmoid函数(逻辑函数) 4、刚刚的

    2023年04月18日
    浏览(34)
  • 逻辑回归(Logistic回归又名对数几率回归)原理及python代码实现

            为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归系数,然后把所有的结果值相加,将这个总和代人Sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分人1类 ,小于0.5即被归人0类 ,所以Logistic回归也可以被看成是一种概率估

    2024年01月18日
    浏览(48)
  • 数学建模:Logistic回归预测

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 logistic 方程的定义: x t = 1 c + a e b t x_{t}=frac{1}{c+ae^{bt}}quad x t ​ = c + a e b t 1 ​ d x d t = − a b e b t ( c + a e b t ) 2 0 frac{dx}{dt}=frac{-abe^{bt}}{left(c+ae^{bt}right)^2}0 d t d x ​ = ( c + a e b t ) 2 − ab e b t ​ 0 建立logistic方程 求解 其三个

    2024年02月10日
    浏览(32)
  • 二元逻辑回归(logistic regression)

    目录 一,原理 二,python代码 2.1 数据集的格式 2.2 代码 三,适用条件 回归 :          假设存在一些数据点,用一条直线或者曲线或折现去拟合这些点就叫做回归。也就是找出平面点上两个轴变量之间的函数关系,或者其他坐标系下的变量间关系。一句话就是:回归就是

    2024年02月06日
    浏览(47)
  • 基于weka手工实现逻辑斯谛回归(Logistic回归)

    逻辑斯谛回归模型其实是一种分类模型,这里实现的是参考李航的《统计机器学习》以及周志华的《机器学习》两本教材来整理实现的。 假定我们的输入为 x x x , x x x 可以是多个维度的,我们想要根据 x x x 去预测 y y y , y ∈ { 0 , 1 } yin {0,1} y ∈ { 0 , 1 } 。逻辑斯谛的模型

    2024年02月15日
    浏览(46)
  • 机器学习:逻辑回归(Logistic Regression)

    Logistic Regression. 本文目录: 逻辑回归模型 Logistic函数 交叉熵损失 梯度下降法 核逻辑回归 逻辑回归(logistic regression) 是一种二分类模型,其思想是通过引入一个函数将线性回归的输出限制在 [ 0 , 1 ] [0,1] [ 0 , 1

    2024年02月09日
    浏览(50)
  • 数据分析之Logistic回归分析中的【多元有序逻辑回归】

    多元有序逻辑回归用于分析有序分类因变量与一个或多个自变量之间的关系。有序逻辑回归适用于因变量具有自然排序但没有固定间距的类别,例如疾病严重程度(轻度、中度、重度)或调查问卷中的满意度评分(非常不满意、不满意、一般、满意、非常满意)。 多元有序逻

    2024年04月24日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包