上次课讲到了如何用stata绘制个性化的人口金字塔,需要补充一点的就是:在绘制金字塔的时候,确保数据的格式是否正确,否则很容易画错。初学stata数据统计分析以及制图的朋友非常容易犯的一个错误就是“拿来主义”,把拷过来的代码直接复制到do文件中运行,而没有仔细校对数据中的变量名和参数,这样出来的结果通常都不是令人满意的,甚至会直接报错。
好了,言归正传,开始本次课的内容:如何绘制简单实用的统计图形。
制图一定要和统计分析密切相关,不然空有屠龙之术也毫无用武之地。这个所谓的“龙”也就是我们常见的统计素材--数据。统计学是理论,统计软件则是实现理论的有效工具。
那么,我们在统计中,经常用到的图有哪些呢?
上次课我们提到了散点图、条形图、直方图、直线拟合图,此外呢,还有正态曲线,饼图,蜡烛图(箱线图),随机森林等等。都需要相关的命令来操作,下面一一道来。
1.散点图
我们在很多网络资源上都可以看到下面这个散点图:
所使用的代码一般如下:
sysuse lifeexp, clear
gen gnp000 = gnppc/1000
label var gnp000 "GNP per capita, thousands of dollars"
scatter lexp gnp000, xscale(log) ///
xlabel(.5 2.5 10(10)40, grid) scheme(s1mono)
粗略解释一下。所用的数据是stata系统自带的预期寿命数据,探讨的是预期寿命同人均GNP之间的关系。值得注意的是,命令中有几个关键的地方特别容易犯错。第一,人均GNP单位是千美元,需要除以1000;第二,X轴的刻度是对收入进行了对数处理,如上文命令中的红字标识,横坐标因此刻度也不是均分的。此外,就是色彩,使用了s1mono色彩,白底黑字,适合一般黑白色的学术期刊。
补充一点,如果没有把X轴对数化,就会出现如下图形:
学过统计的朋友肯定一眼就可以看出,两个变量存在非直线的关系,而较低GNP地区存在了大量的店,这样可以进一步判断存在更为复杂的非线性关系,需要将其中的收入变量进行对数化处理 [ gen lngnp=ln(gnp) ]才可以进一步分析,这也是统计分析中常用的策略:将收入对数化,剔除极端值之后观测其分布,利用pp图和QQ图来检测其正态性。
2.直方图
直方图一般是通过条形的长宽之乘积作为代表的频数,等距的情况下,直方图的高即可表示相对频次的高低。
上代码~
sysuse sp500, clear /*打开数据*/
#delimit ;
/*声明不断行*/
histogram volume, freq normal /*normal即为加上正态曲线*/
xaxis(1 2)
ylabel(0(10)60, grid)
xlabel(12321 "mean"
9735 "-1 s.d."
14907 "+1 s.d."
7149 "-2 s.d."
17493 "+2 s.d."
20078 "+3 s.d."
22664 "+4 s.d.", axis(2) grid gmax) /*将label标识在第二横坐标上面*/
xtitle("", axis(2))
subtitle("标准普尔500指数:2001年1月至12月")
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
fcolor(none) scheme(s1mono)
;
#delimit cr
上图~
很明显,这个图没有加上正态曲线。
3.正态曲线
正态曲线是一个对称形状的钟形图,以均值所在直线(X=mean)为对称轴。我们在进行假设检验时候,用到的中心极限定理和置信区间与正态曲线有着直接的关联。
如图所示:均值为对称轴,左右分别分布着1-4个标准差,其中,两个标准差的显著性是95%,三个是99%。其他值,可以从一般的统计学教材查阅表格。
那么,如何绘制正态曲线图形?代码如下:
#delimit ;
twoway
function y=normalden(x), range(-4 -1.96) bcolor(gs12) recast(area) ||
function y=normalden(x), range(1.96 4) bcolor(gs12) recast(area) ||
function y=normalden(x), range(-4 4) clstyle(foreground) ||,
plotregion(style(none))
yscale(off)
legend(off)
xlabel(-3.92 "-4 sd" -2.94 "-3 sd" -1.96 "-2 sd" -1 "-1 sd" 0 "mean" 1 "1 sd" 1.96 "2 sd" 2.94 "3 sd" 3.92 "4 sd", grid gmin gmax)
xtitle("")
scheme(s1mono)
;
#delimit cr
时间有限,今天的介绍就到这里,下期我们继续讲解其他图形和作图技巧。
当当当!!!结尾的彩蛋~~
读者可能会问:为什么你的图都是黑白灰性冷淡色系的?部分学术刊物,如Economist,也有彩图的。一部分原因:大多数期刊仍然是素色的,便于打印和识别;另外的原因,作图者个人喜好决定。stata制图选项中,sheme是专门用于选择色系的,可以比较不同的颜色,并根据实际需要和要求选择适合的色系。
转自:“量化研究方法”微信公众号
如有侵权,请联系本站删除!