stata-winsorize

stata:数据清洗之异常值处理——winsorize
使用的stata版本:stata15
异常值又称离群值(outliers)是指在一份数据中,与其他观察值具有明显不同特征的那些观察值。
1.怎样判断异常值?
2.winsor or trim?

1.怎样判断异常值

可视化判断:

  1. 箱型图
    在这里插入图片描述

  2. 直方图
    在这里插入图片描述

2.winsor or trim?

在样本充足的情况下,我们可以选择对其直接删除(trim);在样本限制的情况下,个人建议进行缩尾(winsor)处理。

Stata内置的winsor命令只能对样本进行对称的缩尾处理,且每次只能处理一个变量。如果我们想对样本进行一端缩尾或者直接删除尾部极端样本,该使用什么命令呢?winsor2。

安装命令

方法一:ssc install winsor2
方法二:findit winsor2

关于winsor2的用法

winsor2是一个外部用户编写的命令,主要功能是可以同时对多个变量进行缩尾(winsorize)或修剪(trim)处理。

winsor2 varlist [if] [in], [ suffix(string) replace trim cuts(# #) by(groupvar) label ]

suffix: 设置处理后新变量的后缀名,默认的后缀名为_w 或 _tr;
replace: 替换原有变量;
trim: 将特定分位数上下的数值替换为缺失值,即截尾;
cuts: 在具体的分位数上下进行缩尾或者修剪处理。如,cut(1 99)表示对变量数值在1分位数以下和99分位数以上的样本进行处理;
by: 分组处理,比如可以按id分组进行缩尾;
label: 为新变量加标签。

winsor2命令既可以缩尾(winsorize),也可以截尾(trim)。
那么,缩尾与截尾的区别是什么?
如果是截尾(trim),则cuts()所定义()范围之外的值都被删除;
如果是缩尾(winsorize),则cuts()所定义()范围之外的值都被特定分位数所替代。

2.1结合箱型图的例子

 sysuse mode.dta, clear  %导入数据集mode
 graph box epr1 %画出变量epr1的箱型图

在这里插入图片描述

winsor2 epr1,cut(0 90) suffix(_win)label  %在变量epr1数据的0th and 90th percentiles进行缩尾,储存为epr1_win 
winsor2 epr1,cut(0 90)trim suffix(_trh)label  %在变量epr1数据的0th and 90th percentiles进行截尾,储存为epr1_trh
graph box epr1_win epr1_trh  %画出缩尾和截尾后的盒子图

在这里插入图片描述
可以看到,缩尾的结果更好。

2.2结合直方图的例子

 sysuse mode.dta, clear %导入数据集mode
 winsor epr1, gen(epr1_w) p(0.1) 

gen(epr1_w)选项:为缩尾后所得的新变量设定名称为“ epr1_w ”。p(0.1)选项:指定分别在第 10百分位和第 90 百分位进行缩尾。即,将 wage 变量中小于其 10百分位的数值替换为其 10 百分位数值;将 wage 变量中大于其 90 百分位的数值替换为其 90百分位数值。(注:这一过程是双侧缩尾,是winsor命令的默认处理方式。)

histogram epr1,  ylabel(, angle(0)) xtitle("epr1") name(fig1, replace)  %画出缩尾前变量epr1的直方图,一般不服从正态分布即需要缩尾
histogram epr1_w,  ylabel(, angle(0)) xtitle("epr1_w")  name(fig2, replace)  %画出缩尾后变量epr1的直方图
graph combine fig1 fig2  %将缩尾前和缩尾后的直方图放在一起

在这里插入图片描述

缩尾后,对应于之前变量的10和90百分位上的数值变多了,这是由原来超过该范围的“离群值”转换而来的。但是,我们之前已经发现, epr1变量的原始数据似乎只在右侧存在离群值,在左侧并不存在离群值。我们可以通过winsor命令的highonly或lowonly选项来进行单侧缩尾处理。

sysuse nlsw88.dta, clear
winsor epr1, gen(epr1_wh) p(0.1) highonly  %对epr1变量进行右侧缩尾
histogram epr1_wh,  ylabel(, angle(0)) xtitle("epr1_wh")  %画出右侧缩尾后的直方图

在这里插入图片描述
这样,就完成了右侧缩尾

PS:上述是关于处理离群值的winsor方法,由于数据原因取的分位数较大,经济类论文通常取1%上下,且描述性统计用缩尾后的数据来表示。

  • 14
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Fama-MacBeth方法是基于截面数据的一个常用的面板数据分析技术,旨在寻找资产收益率与其市场风险和其他宏观经济变量之间的关系。STATA软件提供了Fama-MacBeth方法的实现。 以下步骤可以实现Fama-MacBeth方法: 1. 导入数据:首先需要将数据导入STATA软件,确定要分析的变量并将其转化为STATA格式。 2. 数据处理:Fama-MacBeth方法需要在每一期内对数据进行回归分析,因此需要对数据进行处理,以便STATA能够正确识别时间序列和截面数据。 3. 进行面板数据回归分析:使用STATA中的xtreg命令来估算每一期的多元回归模型,其中自变量为市场收益率和其他宏观经济变量,因变量为资产收益率。 4. 进行Fama-MacBeth回归分析:使用STATA中的rolling命令计算每期的系数估计值,并使用regress命令对所有系数进行平均,形成横截面回归模型,最终得到了系数的Fama-MacBeth估计。 5. 进行假设检验:使用STATA中的test命令进行系数显著性检验,并利用Fama-MacBeth标准误差对每一估计系数的置信区间进行构建。 6. 进行结果分析:分析估计系数的符号、大小、显著性及置信区间,发现资产收益率与市场风险和其他宏观经济变量之间的关系。 ### 回答2: Fama-MacBeth模型是一种被广泛应用的多期回归分析模型,常用于金融、经济学领域中的跨时间面板数据。它的主要优点是简单易行,且可解决在传统跨时间面板数据回归中面临的异方差问题。 Stata是一个操作方便、功能强大的统计分析软件,可以帮助我们运用Fama-MacBeth模型对跨时间面板数据进行实证研究。下面是一些基本步骤和注意事项: 1. 导入数据。在Stata的命令行窗口中输入import delimited filepath,其中filepath指代你存放数据文件的绝对路径。Stata支持多种数据格式,比如csv、xls等。 2. 预处理数据。将数据通过Stata提供的工具清洗、调整格式,包括缺失值填补、数据类型转化等。 3. 创建汇总变量。对每一个时间点t,计算所有截面单位的均值。这个过程可以通过命令collapse完成。 4. 进行第一步回归。将因变量与所有自变量(包括时间不变量和已创建的汇总变量)一起回归。Stata提供了reg命令来进行最小二乘回归。 5. 创建截面回归的系数。通过将第一步回归中各个自变量的系数称为截面回归的系数。 6. 进行第二步回归。将截面回归各自变量的系数与之前创建的汇总变量一并作为自变量回归因变量。可以使用命令regress完成第二步回归。 7. 对结果进行检验和解释。可以利用Stata提供的多种命令,比如estat hettest、esttab等,对模型结果进行诊断和呈现。 需要注意的是,在进行Fama-MacBeth模型时,数据的样本容量需足够大,以确保结果的可靠性。另外,要对结果进行统计学检验,以确保模型的拟合效果和预测能力。 ### 回答3: Fama-Macbeth Regression是一种多元素回归方法,用于分析资产组合的因素影响。它首先在时间序列上估计因子载荷,然后在交叉部分上估计回归系数。 要在Stata中实现Fama-Macbeth回归,必须执行以下步骤: 1. 导入数据:使用Stata命令“import”或“use”导入包含因子和资产收益率数据的数据集。 2. 按时间序列估计因子载荷:使用Stata命令“regress”用时间序列数据估计因子载荷。将因子载荷存储在新的数据集中。 3. 根据因子载荷估计交叉斜率:使用Stata命令“xtpcse”对每个交叉部分进行回归。将回归系数存储在新的数据集中。 4. 计算标准误差:使用Stata命令“newey”计算因子载荷和回归系数的标准误差。 5. 输出结果:使用Stata命令“outreg”或“estout”输出因子载荷和回归系数的结果。 需要注意的是,在数据分析过程中需要保证数据的质量和准确性,以确保结果的可靠性和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值