楼主: R2D
530 3

[stata资源分享] R2的STATA量化分析论文框架结构分析思路学习总结 [推广有奖]

  • 0关注
  • 0粉丝

高中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
89.6199
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
220 点
帖子
21
精华
0
在线时间
25 小时
注册时间
2023-12-24
最后登录
2024-1-12

楼主
R2D 发表于 2024-1-8 10:35:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
量化分析论文的框架一般包含如下几部分:1.引言 2.描述性统计 3.实证方法讨论与计量结果分析 4.结论
一般文章分析讨论某个或某几个变量对另外一个变量的影响程度水平,同时会考虑其他中介或者调节变量对这个影响过程的作用。需要在这个过程中基于分析理解选定合适的变量,通过量化分析的过程方法,得到相应的结论。

下面是在STATA中实现这一过程的一个样例参考:

一、数据预处理部分

/*数据初始化*/
clear all
set more off
cap log use


/*设置结果保存路径,这里可以保存在相对路径或绝对路径,如果是相对路径或者不做路径设置,结果相关文件会自动保存在do文件同层的路径地址下*/
sysdir set PLUS "X:\XXX"


/*导入数据,将第一行作为变量*/
import excel "XXX", sheet("Sheet1") firstrow

/*如果第一行内容是变量的解释内容,可以将第一行内容设置为标签,这里需要提前ssc install labone方法*/
labone, nrow(1)

/*数据清洗*/
qui{
drop in 1  /*因为将第一行内容作为了标签,可以删除第一行,行=varlist,列=observation*/
destring ColumnX1-ColumnX2,replace /*如果变量有字符串类型,需要变量去字符化,replace是替换原列,generate()可以新建一个变量生成新的一列并在()内对变量重命名*/
missings dropvars, force /*删除所有值为是缺失值的变量(删除空列)这里需要提前ssc install missings方法*/
missings dropobs, force /*missings dropobs(删除整行都没有数值的空行)这里需要提前ssc install missings方法*/
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata 学习总结 tata 量化分析 分析思路 stata stata学习

沙发
R2D 发表于 2024-1-8 10:55:50
/*二、生成标题和引言*/

qui{
/*建立一个word文件,并从STATA输出论文总标题*/
putdocx begin
putdocx paragraph, style(Title)
putdocx text ("量化分析论文:XXXX"), font("宋体",, black)
putdocx save XXX.docx , replace ///这里用的是相对路径,当然也可以用绝对路径

/*在word文件中,输入第一部分标题*/
putdocx begin
putdocx paragraph, style(Heading1) /*设置格式为word标题1*/
putdocx text ("一、引言"), font("宋体",, black)
putdocx save XXX.docx , append

/*在word文件中,输入引言内容,引言内容交代文章讨论背景,以及主要讨论设涉及到的变量因素及分析方向,最后简单概括一下得出的分析结果*/
putdocx begin
putdocx paragraph
putdocx text ("引言内容"), font("宋体",10.5)
putdocx save XXX.docx , append
}

/*三、描述性统计*/

qui{
/*生成第二部分标题*/
putdocx begin
putdocx paragraph, style(Heading1) /*设置格式为word标题1*/
putdocx text ("二、描述性统计"), font("宋体",, black)        

/*描述性统计计算*/        
table (command) (result), command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum y, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x2, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x1, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x3, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x4, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x5, detail) command(Obs=r(N) Min=r(min) Median=r(p50)  Max=r(max)  Mean=r(mean) Variance=r(Var) StdDev=r(sd): sum x6, detail) nformat(%10.2g) sformat(%7s)
//该选项用于设置数值(numeric)的显示格式 %10.2g: 表示数值显示的格式,其中 %10.2 意味着总宽度为10,小数点后保留两位。g 表示使用通用格式,Stata 会根据数值的大小自动选择科学记数法或普通数字格式
//该选项用于设置字符串(string)的显示格式 %7s: 表示字符串显示的格式,其中 %7 意味着总宽度为7。s 表示使用字符串格式

/*输出描述性统计结果表*/
//这里有一个关于STATA 17 collect命令讲解的知识专栏,可以作为参考 https://mp.weixin.qq.com/s/OSPGKWNuZLj39osTaGD0ig

putdocx paragraph
collect style putdocx, layout(autofitcontents) title("表1.XXX描述性统计表") indent(8 pt)
///indent(8 pt)这是设置标题缩进的部分,缩进为8个点
return list
collect label list command, all  /*列出command每一行的label内容并报告行号*/
///修改每个command的label名称
collect label levels command 1 "希望修改成的标签名1", modify
collect label levels command 2 "希望修改成的标签名2", modify
collect label levels command 3 "希望修改成的标签名3", modify
collect label levels command 4 "希望修改成的标签名4", modify
collect label levels command 5 "希望修改成的标签名5", modify
collect label levels command 6 "希望修改成的标签名6", modify
collect label levels command 7 "希望修改成的标签名7", modify
collect preview ///预览collect结果
putdocx collect ///把collect结果放入word

/*生成对描述性统计的分析*/
putdocx paragraph
putdocx text ("表1给出了对被解释变量、解释变量以及控制变量的描述性统计分析结果。"), font("宋体",10.5)
putdocx save XXX.docx , append
}

藤椅
R2D 发表于 2024-1-8 11:18:44
/*三、实证分析*/

qui{
gen inter= X1*I //通过解释变量X1与调节变量I相乘,生成交乘项inter (作为新的变量待后续分析调节变量对解释变量的影响作用)
reg Y  X1 inter X2 //Y=被解释变量,X1 X2=解释变量 inter交乘项新的变量
predict e, residual //回归分析后的残差预测

/*在word生成第三部分的标题*/
putdocx begin
putdocx paragraph, style(Heading1) /*设置格式为word标题1*/
putdocx text ("三、实证分析"), font("宋体",, black)

/*统计检验与实证策略*/
qui{
putdocx paragraph, style(Heading2) /*设置格式为word标题2*/
putdocx text ("1.统计检验与实证策略"), font("宋体",, black)
putdocx paragraph
putdocx text ("在报告计量结果之前,需要首先利用图形检验数据变量是否满足最小二乘法的基本假定。这些假定包括线性性、正态性、独立性和同方差性。"), font("宋体",10.5)

/*1.正态性检验*/
/*分位正态*/
qui{
putdocx paragraph
quantile e, graphregion(fcolor(white) lcolor(white)) b1("图1. 残差分布分位正态图") xsize(8) ysize(6) scale(1.4)
graph export quantile.png , replace
putdocx image quantile.png, width(8 cm) height(6 cm)

/*word写入说明*/
putdocx paragraph
putdocx text ("给出具体的分析结果,e.g.:从图1中观察到,回归误差项e在均值点前半部分高于参考线,而在均值点后半部分低于参考线。这说明回归误差项基本呈现对称性,但与正态分布相比,它在均值两侧的分布更为集中,存在一定的差异。      在这种情况下,尽管对称性较好,但误差项的分布与典型的正态分布有所偏离,可能表明模型的拟合效果在某些区域略有不足。这对于进一步评估回归模型的适用性和性能提供了有价值的信息。或许有必要考虑是否存在其他因素或模型改进的可能性,以更好地符合数据的分布特征。"), font("宋体",10.5)
}

/*2.正态拟合*/
qui{
putdocx paragraph
hist e, bin(7) percent normal graphregion(fcolor(white) lcolor(white)) b1("图2.残差分布直方图(附参考线)") fcolor(dknavy) lc(black) xsize(8) ysize(6) scale(1.4)
graph export histogram.png , replace
putdocx image histogram.png, width(8 cm) height(6 cm)

/*word写入说明*/
putdocx paragraph
putdocx text ("给出具体的分析结果,e.g.: 从图2的观察结果来看,与图1相似,回归误差项相对于正态分布在靠近均值的区域表现出更高的集中趋势。这意味着在均值附近,回归误差项的概率密度较高,与正态分布存在差异。然而,与正态分布相比,偏离的程度并不显著,差异不大。     这种情况表明,虽然回归误差项在分布上略有偏离正态分布,但整体上仍然保持相对一致。对于统计模型的应用来说,这或许是可以接受的,尤其是在偏离程度较小的情况下。"), font("宋体",10.5)
}

/*3. 线性性与同方差性检验*/
qui{
putdocx paragraph
scatter e X1, graphregion(fcolor(white) lcolor(white)) yline(red,0) b1("图3.残差散点图(附参考线)")
graph export escatt.png , replace
putdocx image escatt.png, width(8 cm) height(6 cm)

/*word写入说明*/
putdocx paragraph
putdocx text ("给出具体的分析结果,e.g.: 从图3的观察结果来看,回归误差项相对均匀地分布在X轴的两侧,并且没有明显的迹象表明随机误差项的均值随着X的变化而呈规律性变化。这暗示着原始模型可能满足线性性和独立性的基本假设。然而,值得注意的是,随着X的增加,回归误差项e的离散程度似乎呈轻微扩大的趋势。这可能表明存在异方差的问题,即误差项的方差不是恒定的。在最终的模型中,可能需要对方差进行修正,以避免异方差问题对模型显著性检验的影响。"), font("宋体",10.5)
}

putdocx save XXX.docx, append
}

板凳
R2D 发表于 2024-1-8 11:54:49
接上文

/*计量结果与分析*/
qui{
putdocx begin
putdocx paragraph, style(Heading2) /*设置格式为word标题2*/
putdocx text ("2.计量结果与分析"), font("宋体",, black)
putdocx save Quant.docx, append

//对选定的解释变量,被解释变量,交乘项,控制变量做回归分析
reg y x1 inter x2
outreg2 * using XXX.doc, replace stats(coef se)
reg y x1 inter x2, robust ///稳健回归
outreg2 * using XXX.doc, stats(coef se) ///输出回归结果到doc中,统计结果加入自变量系数和标准误差
reg y x1 inter x2 x3, robust
outreg2 * using XXX.doc, stats(coef se)
reg y x1 inter x2 x3 x4, robust
outreg2 * using XXX.doc, stats(coef se)
reg y x1 inter x2 x3 x4 x5, robust
outreg2 * using XXX.doc, stats(coef se)

preserve
import delimited "X/XXX.txt", clear ///导入生成的txt格式回归结果
putdocx begin
putdocx table A = data(v1 v2 v3 v4 v5 v6), title("表2. 解释变量对被解释变量的影响) //创建一个表格,将回归结果存入表格
putdocx table A(.,.), font("Times New Roman",10.5) //设置表格每个单元格的字体风格和大小
putdocx save XXX.docx, append
restore

putdocx begin
putdocx paragraph
putdocx text ("对回归分析结果的解释说明,e.g.: 根据表2第2行的计量结果,解释变量1的系数显著为正,这表明解释变量1增加会相应增加被解释变量。解释变量1对于被解释变量有着显著的正向影响,在不控制解释变量3、解释变量4以及解释变量5的情况下,这种影响仅略小于解释变量2的影响。此外,交乘项inter的系数也显著为正。表明调节变量进一步放大了解释变量1对被解释变量的影响。通过上述计量结果可以得出结论,XXX。"), font("宋体",, black)
putdocx save XXX.docx, append
}
}

/*四、结论*/

qui{
putdocx begin
putdocx paragraph, style(Heading1) /*设置格式为word标题2*/
putdocx text ("四、结论"), font("宋体",, black)
putdocx paragraph
putdocx text ("对文章研究内容接得出结果做总结,e.g. 本文深入研究了解释变量X1对被解释变量X2刚性影响,计量结果验证了这一机制,并同时发现调节变量I对这种机制具有相同的调节作用。本研究为深入探讨xx x问题提供了新的视角。然而,本文的主要不足之一在于没有考虑可能由于反向因果,以及遗漏变量偏差问题而引起的内生性影响。在未来的研究中,有望改进这一问题,可能通过采用更为复杂的研究设计,例如面板数据或工具变量方法,以更准确地捕捉解释变量和被解释变量之间的因果关系。这样的改进将有助于提高研究的内在有效性,并加强对研究结论的信心。总体而言,本研究为未来XXX问题提供了有益的启示。"), font("宋体",10.5)
putdocx save XXX.docx, append
}

putdocx clear

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-16 07:03