第八章 报表以及图形输出

更新时间:2024-01-30 13:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第八章 描述性统计以及图形输出 本章导读:

Stata系统可以根据导入的数据集计算各种各样的统计量。除了给出描述性统计外,stata系统还可以将数据生成条形图、饼状图、二维散点图、折线图等,从而使研究的结论由一个直观的认识。

8.1 描述性统计 8.1.1 sum/summarize

Sum命令主要是算出变量的基本的统计信息,如观测值的个数、最大值、最小值、中位数、均值、标准差等。 Sum/summarize命令格式为:

by 分组变量:summarize 变 量 名1 变 量 名2 … 变 量 名m[,detail]

例1桌面上的type_f.dta数据集中有以下变量:公司规模size,公司成长性 growth ,虚拟变量central(如果是中央国企,则central=1,否则为0)

(1)对这些变量作出描述性统计。 ?

Sum size growth central

/*如图8.1,可以看到这些变量的观测数,均值,方差,最小值和最大值

图8.1 即: 本 例 中 3个变量的 样 本 数 为 均为5904,公司规模,公司成长性,虚拟变量central 均 数 分别为为20.99295,.2250447,.1825881, 相 应 的 标 准 差分别 为.9529539,.7088909,.3863612。size的最小值为18.8216,最大值为23.56459。growth的最小值为-.80149,最大值为4.955688。central的最小值为0,最大值为1.

(2)如果想了解某一变量的详细信息,如growth的详细统计信息,则 ?

sum growth,detail

图8.2

得到如图8.2,由上 述 结 果 可 知:summarize 命 令 并 使 用 子 命 令 detail, 不 仅 可 以 得 到 各 变 量 资 料 的 均 数 和 标 准 差, 而 且 可 以 得 到 主 要 的 非 参 数 描 述 指 标: ①低 四 分 位 (lower quartile), ②中 位 数 (Median) 以 及 ③高 四 分 位 (upper quartile)。 对 于 非 正 态 资 料, 一 般 不 应 用 均 数 ± 标 准 差 进 行 描 述, 而 应 使 用 中 位 数 以 及(低 四 分 位- 高 四 分 位, 称 interquartile range, IQR) 进 行 描 述。variance为 样 本 方 差;skewness 为 偏 度, 偏 度 的 绝 对 值 越 小, 表 明 该 数 据 的 正 态 对 称 性 越 好; kurtosis为峰 度, 峰 度 值 越 大 表 明 该 数 据 的 正 态 峰 越 明 显;smallest表示在 该 数 据 中 最 小 的 四 个 数 据;largest表示在 该 数 据 中 最 大 的 四 个 数 据。

(3)也可以根据是否是中央控股企业,对size分别进行描述性统计 ? . sort central ?

.by central:sum size 如图8.3

图8.3 8.1.2

根 据 样 本 数 据 计 算 可 信 限

stata 命令:

ci 变 量 名1 变 量 名2 … 变 量 名m [, level(#)

binomial poisson exposure(varname) by(分组变 量) ]

95% 可 信 限 计 算:

正 态数 据:ci 变量名

0-1 数 据:ci 变量名, binomial

poisson 分 布 数 据: ci 变 量 名,poisson

90% 可 信 限 计 算( 其 它 可 信 限 类 推) 正 态数 据:ci 变量名, level(90)

0-1 数 据:ci 变量名, level(90) binomial

poisson 分 布 数 据: ci 变 量 名,level(90) poisson

例2:计算公司规模size,公司成长性 growth 的95%可置信限 ?

ci size growth

图8.4

如图8.4,以 上 结 果 中:Obs为 样 本 数;Mean 为 均 值;Std.Err为 标 准 误;[95%Conf.Intercal]为 95% 的 可 信 限, 因 此 size 的95% 可 信 限 为[20.96864, 21.01726],growth 的 95% 可 信 限 为[0.2069587,0.2431308]。

8.1.3 根 据 样 本 数, 样 本 均 数 和 标 准 差 计 算 可 信 限

若 数 据 服 从 正 态 分 布, 并 已 知 样 本 均 数 和 标 准 差 以 及 样 本 数, 则95% 可 信 限 计 算 为:

cii 样 本 数 样 本 均 数 标 准 差[,level(#)] 8.1.4 计 数 资 料 中 频 数 和 比 例 STATA 命 令:

tab1 变 量 名[,g( 新 变 量 名)

因 为 该 命 令 主 要 适 用 描 述 计 数 资 料( 即: 属 性 资 料), 当 使 用 子 命 令 g( 新 变 量), 则 产 生 属 性 指 示 变 量。 在 回 归 分 析 中 经 常 需 要 这 些 指 示 变 量 作 为 亚 元 变 量 进 行 分 析。

例3 样本中的上市公司有的属于中央国企而有的不属于中央国企,计算属于中央国企的上市公司的家数以及占整个样本中的比例。 ?

tab central,g(a) 如图8.5

图8.5 图8.5中,freq 为 各 属 性 资 料 的 频 数;percent为 该 属 性 占 整 个 资 料 样 本 数 的 百 分 比;cum 为 累 计 百 分 比。

8.1.5 变量的相关系数

相关系数是度量两个变量相关关系的统计量。相关系数的值在-1到1之间,1代表两个变量完全正相关,0代表两个变量不相关,-1代表两个变量完全负相关。

(1)线 性 关 系 的 相 关 分 析

若 计 量 资 料 变 量1,…, 变 量m 服 从 正 态 分 布, 对 于 它 们 之 间 是 否 存在 线 性 相 关 关 系 可 以 通 过 相 关 分 析 方 法, 相 应 的 STATA 命 令 为:pwcorr 变量名1 变量名2 … 变量名m, sig

例4 利用type_f.dta数据集,计算公司债务水平,公司规模size,公司的成长性growth以及虚拟变量central(公司是否属于中央国企)的相关关系。 程序如下:

?

pwcorr d size growth central,sig

图8.6

如图8.6,左下角的数字每一变量对应的行上面的数字代表为两个变量的相 关 系 数 r, 下面的数字为 相 关 系 数 显 著 性 检 验(Ho:r=0) 所 对 应 的 p 值。 因 此 根 据 本 例和 上 述 结 果 可 以 认 为 公司的成长性与公司的债务水平 呈 线 性 负相 关( 若 数 据 growth和 d 服 从 正 态 分 布)。公司是否是国有企业与债务水平呈线性负相

关,与公司规模呈现线性正相关。

(2)秩 和 相 关 分 析

由 于 以 上 的 相 关 分 析 中, 要 求 数 据 x 和 y 均 服 从 正 态 分 布,但 是 对 于 那 些 不 能 满 足 正 态 分 布 的 数 据 之 间 的 相 关 分 析 应 采 用 非 参 数 相 关 分 析, 通 常 采 用 秩 和 相 关 分 析, 即: Spearman 相 关 分 析 方 法。

STATA 命 令 为:

spearman 变 量1 变 量2…变量M

例 4 根据以上资料为例,作 秩 和 相 关 分 析: ?

Spearman d size

图8.7

如图8.7,Spearma’s rho为 Spearman相 关 系 数;test of H0:d and sie are independent为 无 效 假 设Ho:d与 size 独 立;prob> |t|无 效 假 设 的Spearman 相 关 显 著 性 检 验 所 对 应 的 p 值。

由 上 述 结 果 表 明:Spearman 相 关 系 数 为 0.0682, 相 应 的 p 值 为 0.0000, 因 此 由 本 例 资 料 和 检 验 结 果 可 以 认 为 公司的债务水平与公司的规模呈 正 相 关。

小技巧:如果需要在上三角输出变量的Spearman相关系数,下三角输出变量的Pearson相关系数,则命令为: corrtbl d central size growth, corrvars(d central size growth)

8.2 图形的输出

8.2.1 命令的结构

graph-command (plot-command, plot-options) (plot-command , plot-options) , graph-options 或者

graph-command plot-command,plot-options || plot-command , plot-options || , graph-options graph-command定义图的类型,plot-command 定义曲线类型,同一个图中如果有多条曲线可 以用括号分开,也可以用“||”分开,曲线有其自身的选项,而整个图也有其选项。例如twoway 为graph-command中的命令之一,而scatter为plot-command中的命令之一。 曲线选项和图选项,例如

twoway (scatter d size) , title(\债务与企业规模\图选项:标题 twoway (scatter d size , msymbol(Oh)) //曲线选项,点的类型

twoway (scatter d size , msymbol(Oh)) , title(\债务与企业规模\//同时用图与曲线选项 命令可以简写,如下列命令等价 sysuse auto, clear

graph twoway scatter d size

twoway scatter d size //graph可以省略 scatter d size //twoway graph都可以省略 gr tw sc d size tw sc d size sc d size

8.2.2 曲线类型

STATA 提供各种曲线类型,包括点(scatter)、线(line)、面(area),直方图(histogram)、 条形图(bar)、饼图(pie)、函数曲线(function)以及矩阵图(matrix)等。对时间序列数据有以ts 开头的一系列特殊命令,如tsline。还有一类是对双变量的回归拟合图(lfit、qfit 、lowess)等。可以用帮助命令查看。 help graph

help towway

(1)曲线从大的方面可以分为点线面,在同一个图中可以容纳多条曲线,甚至是不同类型 的曲线。先来看单个曲线类型。

例5:数据集d.dta 中有5904个样本,其中变量d为企业的杠杆水平,year 为年份(1998-2006),画出公司代码dm为2的各年杠杆水平的散点图、折线图和面积图, 点

use \桌面\\d.dta\ , clear scatter d year if dm==2

线

line d year if dm==2,sort

tw area d year if dm==2,sort

(2)几种基本的曲线类型

任务9.2:使用中国上市公司的杠杆水平d、公司规模size 及公司成长性growth和公司性质(是否是中央控股企业),公司所处的行业sic2(证监会所处行业标志) 等变量绘制各种图,数据文件为type_f.dta。

use \桌面\\d.dta\ ,clear 直方图:histogram twoway histogram d

核估计图: kdensity twoway kdensity d

条形图:bar 和hbar graph bar d, over(sic2)

graph hbar d, over(sic2)

箱形图box 和hbox graph hbox d, over(sic2)

graph box d, over(sic2)

饼图:pie

graph pie d, over(sic2)

矩阵图 matrix

graph matrix d size growth

点阵图 dot

graph dot d, over(sic2)

(3)更多细分的曲线类型

例5:使用浦发银行(股票代码为600000)的2008年8月股价数据ret.dta绘制各种图,其中tclose 为收盘价,topen 为开盘价,tdate 为交易日,year为年份,month为月份,date为日期,high为当日最高股价,low为当日最低股价。 use \桌面\\ret.dta\

twoway dropline tclose date if month==8 //2008年8月浦发银行的股价图

tw spike tclose date if month==8 //针式图

tw dot tclose date if month==8 //点线图

tw connected tclose date if month==8, sort //点连线图

tw area tclose date if month==8, sort //和线图类似,显示线以下的面积

tw bar tclose date if month==8,sort /*对每个X绘出相应Y的条图,而graph bar是针对 分类变量X的*/

twoway rarea high low date if month==8, sort //显示最高与最低价,并填充两者之间的面积

tw rline high low date if month==8, sort //显示最高与最低价,但不填充其间

tw rconnected high low date if month==8,sort //显示最低与最高为两点,并连接起来

tw rscatter high low date if month==8,sort //显示最低与最高为两点,不连接

tw rcap high low date if month==8, sort //两端用小横线标示

tw rspike high low date if month==8,sort

tw rcapsym high low date if month==8,sort//两端用点标示

对时间序列数据,可以先设定时期,简化命令 tsset tdate //X轴为时间,由tsset设定.

twoway tsline close, sort //tsline用于时间序列数据,收盘价 tw tsrline high low, sort //最高价与最低价

8.2.3 标题项: title()

整个图标题:title()

图的副标题:subtitle() 为图加上标题和副标题

use \桌面\\d.dta\, clear scatter d year if dm==2,title(万科A杠杆水平) subtitle(1998-2006)

8.2.4 坐标轴格式

(1) 有坐标轴、有刻度格式(默认) scatter d year (2) 无坐标轴格式

可以不标y轴,命令为yscale(off);也可不标出x轴xscale(off), 还可以不显示图中的暗格。

scatter d year if dm==2,yscale(off) xscale(off) ///plotregion(style(none))

(3)无坐标轴,有刻度格式

scatter d year if dm==2,plotregion(style(none)) yscale(noline) xscale(noline)

(4)双坐标轴格式

同时绘出杠杆水平和公司成长性的折线图时,公司规模size, Line d size year if dm==2,sort //该命令等价于

tw (line d year if dm==2,sort )(line size year if dm==2,sort )

我们发现杠杆水平几乎为一条直线,实际上杠杆水平是有一定的波动的,之所以像一条直线,是因为杠杆水平(d)和公司规模(size)的计量不一致导致的。如果我们用双Y 轴,将size的纵轴用右纵轴表示。

twoway (line d year if dm==2, sort yaxis(1)) (line size year if dm==2, sort yaxis(2))

(5)坐标轴标题 纵坐标标题:ytitle() 横坐标标题:xtitle()

use \桌面\\d.dta\, clear

label var size 公司规模

tw (line d year if dm==2, sort yaxis(1) ytitle(公司杠杆水平)) (line size year if dm==2, sort yaxis(2) xtitle(年份))

(5)坐标轴刻度 左纵坐标刻度:ytick() 下横坐标刻度:xtick()

line d year if dm==2, sort xtick(1998(1)2006) ytick(0(0.025)0.3)

(6)坐标轴刻度值

左纵坐标刻度及刻度值:ylabel()

下横坐标刻度及刻度值:xlabel()

line d year if dm==2, sort xlabel(1998 2001 2004 2006) ylabel(0(0.025)0.3)

更多的刻度及标注方法,请查找帮助 help axis label option

做一个图,纵横比例为3:4

scatter d size if dm==2, sort ysize(3) xsize(4)

8.2.5 图例legend()

(1) 自动插入图例

任务 9.5:当有两条曲线时,STATA 会超支生成图例,置

于图的下方。如画出每年的杠杆水平d和每年的公司成长性growth。 line d growth year if dm==2,sort

(2)关闭自动插入的图例

line d growth year if dm==2,sort legend(off)

(3)定制图例内容legend(label()) 将图例中的英文改为中文

line d growth year if dm==2,sort legend(label(1 杠杆水平) label(2 公司成长性))

也可以先将变量标识而后自动生成 label var d 杠杆水平

label var growth 公司成长性

line d growth year if dm==2,sort (4)定制图例位置legend(position())

可将图例放在图的12 个位置(对应于时钟的小时刻度) 如正右边为position(3) 右正方为position(5),正上方为 position(12)。

line d growth year if dm==2,sort legend(pos(3) label(1 杠杆水平) label(2 公司成长性))

有时我们希望将图例放在图中,命令为 ring(0)

line d growth year if dm==2,sort legend(pos(1) ring(0) label(1 杠杆水平) label(2 公司成长性) col(1)) //col(1)要求图例按一列处理

8.2.6 脚注:note()

脚注主要用于标明数据的来源或者有关对整个图的 说明,如

scatter d year if dm==2,sort note(数据来源:accer)

8.3 几种常用的图

8.3.1 散点图与连线图

指定图形中散点的表示符号:msymbol()

圆圈 菱形 正方形 三角形 +号 X号 小点

大、实心 O D S T + X 大、空心 Oh Dh Sh Th

小、实心 o d s t x p 小、空心 oh dh sh th

任务9.6,绘制万科A每年的负债率(杠杆水平)的散点图。

use \桌面\\d.dta\, clear scatter d year if dm==2, msymbol(Oh)

指定散点的颜色

scatter d year if dm==2, msymbol(d) mfcolor(green) mlcolor(red)

任务:绘制出万科A杠杆水平d和公司规模大小size的散点图,并标年度 scatter d size if dm==2, mlabel(year)

单独标出某年

use \桌面\\d.dta\, clear

twoway (scatter d size if dm==2&year==2004, mlabel(year)) (scatter d size if dm==2), legend(off)

指定图形中散点的连接方式:connect()

. 不连接

l 用直线连接

L 按X 在数据库中的顺序用直线连接 m 用直线连接中位值 s 用三次平滑曲线连接 J 以阶梯式直线连接 || 连接垂直方向上的两个点 II 在顶及底部添加短横线

对每种线条类型,可单独定义线条样式,如 c(l)为实线相连,c(l[-])以虚线相连 l 实线 l[_] 长线段 l[-] 中等长线段 l[.] 短线段 l[#] 空格

8.3.2条形图

任务9.7:使用浦发银行(股票代码为600000)的2007年-2008年8月股价数据ret1.dta绘制以下条形图,其中tclose 为收盘价,topen 为开盘价,tdate 为交易日,year为年份,month为月份,date为日期,high为当日最高股价,low为当日最低股价。

最原始的命令

use \桌面\\ret1.dta\

gsort year month list tclose year month

以上命令用于查看数据,从数据中可以看出,样本中包含两年的数据2007年和2008年,每年有12个月,每个月中有若干天的收盘价格,绘图时采用的为每个月的平均收盘价。 graph bar tclose over(year) over(month)

上图非常难看,横坐标的标示糊成了一团,nofill 命令将分类变量中缺失值忽略掉(在前 面将其做为一组来处理)

graph bar tclose over(year) over(month) nofill

上面的图中,各个条形图之间间距较大,仍然不够美观。而下面的命令选项asyvars 将使得 第一个分组变量变换成相应的若干y 变量。如2007,2008 graph bar tclose over(year) over(month) nofil asyvars

下面的命令对坐标轴的刻度、标识及标题进行调整 graph bar tclose over(year) over(month) nofil asyvars /// ytitle(月平均股价) /// ylabel(0(15)60) /// b1title(月份)

下面的命令美化图例

graph bar tclose over(year) over(month) nofil asyvars /// ytitle(月平均股价) ///

ylabel(0(15)60) /// b1title(月份)

legend(rows(1) position(1) ring(0))

graph bar tclose ,over(year) over(month label(angle(45))) /*将分组变量标识倾斜45度*/ /// nofill asyvars ytitle(月平均股价)

blabel(bar, format(%4.2f)) //给每个条形图加上数据并规定数据格式

8.3.3 直方图

任务9.8 绘制身高直方图,录入如下数据,将数据分为10 组,统计落入每组的频数,然后 绘制直方图。

*============================begin================================= clear

input x1-x10

142.3 156.6 142.7 145.7 138.2 141.6 142.5 130.5 134.5 148.8

134.4 148.8 137.9 151.3 140.8 149.8 145.2 141.8 146.8 135.1 150.3 133.1 142.7 143.9 151.1 144.0 145.4 146.2 143.3 156.3 141.9 140.7 141.2 141.5 148.8 140.1 150.6 139.5 146.4 143.8 143.5 139.2 144.7 139.3 141.9 147.8 140.5 138.9 134.7 147.3 138.1 140.2 137.4 145.1 145.8 147.9 150.8 144.5 137.1 147.1 142.9 134.9 143.6 142.3 125.9 132.7 152.9 147.9 141.8 141.4 140.9 141.4 160.9 154.2 137.9 139.9 149.7 147.5 136.9 148.1 134.7 138.5 138.9 137.7 138.5 139.6 143.5 142.9 129.4 142.5 141.2 148.9 154.0 147.7 152.3 146.6 132.1 145.9 146.7 144.0 135.5 144.4 143.4 137.4 143.6 150.0 143.3 146.5 149.0 142.1 140.2 145.4 142.4 148.9 146.7 139.2 139.6 142.4 138.7 139.9

end

stack x1-x10,into(y) clear ren _sta n

forvalues i=1/10 {

replace n=`i' if y>124+`i'*4&y<124+4*(`i'+1) }

hist y,norm

*============================end==================================

sysuse auto, clear ladder mpg gladder mpg

8.4 同时做多个图by(varname)

最常用于描述两个变量之间关系的图形为散点图与拟合图。

vguse allstates ,clear

twoway (scatter propval100 popden) (lfit propval100 popden)(qfit propval100 popden) twoway (scatter propval100 popden) (mspline propval100 popden) ///

(fpfit propval100 popden) (mband propval100 popden)(lowess propval100 popden) twoway (lfitci propval100 popden) (scatter propval100 popden)

by(varname)功能适用于matrix 和star 以外所有图形,该选项使graph 按照指定的分组变 量分别绘制图形。一般情况下,对bar 和box,按指定变量分组的多个图共用一套坐标轴, 对其它图形,将分别绘制独立的图形并列陈列。Rescale 与by()合用,要求图形使用不同的 刻度。默认为所有图形使用相同的刻度。

任务:利用d.dta 中的杠杆水平(d)和公司规模(size)以及成长性,绘制出杠杆水平

的散点图和拟合图,同时将公司规模作为条形图列在另一个坐标轴上,最后,要求同时给出的相应图形。

use \桌面\\d.dta\clear twoway (bar d year, yaxis(2)) /// (scatter growth size , yaxis(1)) /// (lfit d size, yaxis(1)) , /// by(year) legend(row(1))

本文来源:https://www.bwwdw.com/article/ismw.html

Top