投稿问答最小化  关闭

万维书刊APP下载

Stata制图第二弹:如何绘制简单实用的统计图形?

2023/6/25 8:52:07  阅读:66 发布者:

上次课讲到了如何用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指数:20011月至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是专门用于选择色系的,可以比较不同的颜色,并根据实际需要和要求选择适合的色系。

转自:“量化研究方法”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com