第二十课散布图、折线图和层次图
SAS系统中绘制散布图、折线图和层次图,使用PROCPLOT过程和PROCGPLOT过
程。PROCPLOT过程是用来画易生成的低分辩率的图形,输出在OUTPUT窗口。而PROC
GPLOT过程是用来生成定制的、高分辨率的图形,输出在GRAPH窗口,并且还可以对输出
的图形进行编辑修改。
一.PROCPLOT过程
使用PLOT过程可以在两个不同的坐标系中对两个变量作散布图、折线图、半对数图和
层次图。用于数据处理中,直观地了解数据的变化趋势和数据间的相互关系等。它的一般形
式为:
ProcPlot
DATA=数据集选项列表>;
Plot
纵坐标变量Y*横坐标变量X……选项列表>;
Run;
1PROCPLOT语句
PROCPLOT语句中的选项列表主要分成三类:有关图形的坐标轴选项、有关外观的选项
和有关图形大小的选项。其中图形大小的两个选项较为常用:
VPCT=百分比列表——规定产生图形在垂直方向占一页的百分比。例如VPCT=33
表示这张输出图占一页的33%,即占一页的1/3,所以一页可以纵向打印3张图。
VPCT=502525表示每一页在纵向打印3张图,第一张占全页的一半,第二和第
三张各占1/4页。VPCT=200表示要求输出图占2页的长度。
HPCT=百分比列表——规定产生图形在水平方向占一页的百分比。
2PLOT语句
PLOT语句里首先要规定数据集中的哪两个变量作为图形中的垂直变量和水平变量,以
及在图形中用于画点的作图字符。PLOT语句的几种使用格式如下:
ploty*x;
ploty*x=’+’;
ploty*x=
符号变量
;
ploty*x$
标记变量
=’+’;
ploty*x=’+’b*a=’*’/overlay;
第一条语句作图符号用缺省形式,依此用英文大写字母A、B、C…Z作为作图符号。当
观测的条数较多时,低分辩率图不可能画出所有观测的点,所以当图中的某一点表示有一条
观测的点时,用作图符号A;当图中的某一点表示有二条观测的点时,用作图符号B;以此
类推。例如,输出图中有一个Z符号,表示在这点上共有26条观测的点或更多点。对于PROC
GPLOT过程默认的作图符号为加号(+)。
第二条语句用等号(=)规定一个字符作为作图符号。此例中每个散点用加号(+)表示。
第三条语句用等号(=)规定一个变量的值作为作图符号,变量可以是字符变量,也可以
是数值变量。此时,每个散点的作图符号用数据集中同一条观测的这个符号变量的值表示。
例如,假定为=SEX变量,则作图符号为SEX变量的值F或M。
第四条语句用符号($)规定一个变量的值用于标记图中的散点。此例中每个散点不仅用
加号(+)表示,而且还标出了图中每一个散点在数据集的同一条观测中这个标记变量的值。
第五条语句规定在同一张图上重叠两个图,当然可以重叠更多的图。OVERLAY选项要
求定义新兴产业有哪些 在PLOT语句中的几个图打印在一张图上。
例如,我们有一个上证指数周线数据集INDEXSH,包含日期变量DATE、成交量变量
VOLUME、开盘价变量OPEN、最高价变量HIGH、最低价变量LOW、收盘价变量CLOSE
和涨跌百分比CHANGE,用PROCPLOT过程定制一个指数对交易周的最高和最低价的重叠
散点图。程序如下:
Libname
Study“D:/Sasdata/Mydir”;
ProcPlot
Data=hVpct=50Hpct=70Formchar=’|----|---’;
Wheredate<’01feb91’d;
Plothigh*date=’+’low*date$low=’-’/overlay;
Run;
程序的运行结果显示在OUTPUT窗口中,见图20-1所示(为显示清晰起见,窗口的大
小和显示内容的位置移动过)。
图20-1用PLOT过程定制重叠散点图
3PLOT语句中的选项
PLOT语句除了上述的重叠作图选项OVERLAY外,还有几类重要的选项如下:
(1).关于坐标轴刻度的任选项
用VAXIS(或HAXIS)=标记值列表,定义沿垂直(或水平)坐标轴相等间隔的刻度标
记值。可以用BYn的方式规定刻度的增量。这些值可以是均匀上升或下降,也可以不是,既
可以是数字值,也可以日期时间值。几种可能的选项格式如下:
haxis=0to100by5
haxis=’01jan20’dto‘31dec20’dby7
vaxis=11
haxis=by10
其它还有VEXPAND(或HEXPAND)、VREVERSE(或HREVERSE)、VZERO(或HZERO)
等有关坐标轴刻度选项。
(2).关于参考线的任选项
如果要求在散布图的垂直或水平轴的指定数值上画出垂直或水平线作为参考线,可以使
用如下选项:
上海财经大学经济信息管理系IS/SHUFE
Page3of16
verf=1004001000(
三条水平参考线)
href=’01mar20’d‘01oct20’d(
两条垂直参考线)
还可以用VERFCHAR或HREFCHAR=‘字符’定义参考线的画线符号。
(3).关于图形轮廓的任选项
BOX选项可以画出边框围住整个图形,而不仅仅是画出底部和左边框。VPOS或HPOS=
轴长度,规定水平或垂直轴上打印输出的数目。
(4).关于作等值线(层次图)的任选项
当要求散点(x,y)的作图符号能根据z(通常z=f(x,y))值的大小规定不同的层次强度字
符时,也就是相同z值的点用相同的作图符号,不同z值的点用不同的作图符号,但最多只
能把z值分成10个层次的不同值。我们可以使用如下选项:
plotx*y=z/contour=3s1=’A’s2=’+’s3=’*’;
plotx*y=z/contour=3
语句说明:=z指定按Z变量的内容确定散点作图符号,选项contour=3规定三个层次强
度,s1=’A’s2=’+’s3=’*’按上升顺序给出层次强度的作图符号。用户自己可以不定义S1、
S2、S3的层次强度的作图符号,而使用缺省值。
下面我们举例说明PLOT语句中选项的使用。例如,绘制上证指数周线数据集INDEXSH
的散点图时,根据股票技术分析的需要,要画支撑和阻力线,以及趋势变异的时间和周期,
这对以后的各种分析都很重要。我们可以通过调整纵横坐标轴的刻度和增加水平和垂直参考
线来实现。程序如下:
Libname
Study“D:/Sasdata/Mydir”;
Procplot
Data=hVpct=50Hpct=80Formchar=’|----|---’;
plot
clo*date='+'/haxis='21dec90'dto'01jan93'dby98
vaxis=1600
href='16aug91'd'30apr92'd'20nov92'd
vref=961354001429;
title1
'ShanghaiStockIndex';
title2
'21dec90---01jan93';
Run;
程序的运行结果显示在OUTPUT窗口中,见图20-2所示。
图20-2用PLOT过程定制重叠散点图
输出解释:对上证指数从1990年12月21日开市到1993年1月1日的交易数据进行分
析,主要经历三种市场状况:第一种市场状况是从1990年12月21日到1991年7月底8月
初,在96点至135点之间盘整筑底,历经大约31~34周,形成W底;第二种市场状况是从
1991年8月中旬有效突破阻力线135,形成稳步盘升单边市,至1992年4月24日历经大约
28~31周;第三种市场状况是从1992年4月30日至1992年11月20,在400点一线开始飙
升冲顶1429,最后回落原地400点,历经大约29周。从上面的分析我们可以看到,水平和
垂直参考线提供了一种看得见的暗示。技术分析的目的就是找到购买资产的适宜点,尽可能
地识别一种趋势结束且另一种趋势开始的点,然后可作出适宜的交易。
二.生成高分辨率图形
虽然PROCPLOT过程生成的散布图对基本数据分析是有用的,但是为了更详细的分析
和表达目的也可用PROCGPLOT过程来生成高分辨率图形。
1GOPITONS语句
通常,当在使用PROCGPLOT和PROCGCHART等能生成高分辨率图形的过程时,要用到系统的一些特定特征,因此,要求指定图形设备和计算机系统的一些另外可能的选择。
上海财经大学经济信息管理系IS/SHUFE
Page5of16
用下列GOPITONS语句能规定一个图形设备以运行SAS/GRAPH软件。
Goptionsdevice=
图形设备
;
例如,如果我们要指定图形输出设备为Windows环境下的黑白打印机:
Goptionsdevice=winprtm;
例如,如果我们要指定图形输出设备为Windows环境下的彩色打印机:
Goptionsdevice=winprtc;
另外,我们还可以通过选择菜单命令Globals/Options/Globaloptions或
Globals/Graph/File/Print…/SASGraphDriver来设定图形输出设备。
2PROCGPLOT过程
生成高分辨率图形的PROCGPLOT过程的一般使用格式如下:
PorcGplot
DATA=数据集
;
Plot
纵坐标变量Y*横坐标变量X……选项列表>;
Symboln
<选项列表>;
Axisn
<选项列表>;
Run;
使用PROCGPLOT过程和PROCPLOT过程的区别,对于PROCGPLOT语句,PROC
PLOT语句中的VPCT和HPCT等选项不可使用。两者的PLOT语句使用方法基本相同。最
主要的区别是,在PROCGPLOT过程中,可使用SYMBOLn语句和AXISn语句。
3用SYMBOLn语句定义线和符号
SYMBOLn语句的主要作用:可以定义数据点的符号,可以定义数据点之间的连接方式,
可以定义数据点和线的颜色。SYMBOLn语句的n取值范围从1到99,缺省值是1,n代表
Y*X两个变量形成数据连线的系列数。一些主要选项如下:
V=数据点图形符号——数据点的符号有NONE(没有)、PLUS(缺省值加号)、
STAR(星号)、SQUAR(小方块)、DIAMOND(小菱形)、TRANGLE(三角形)、
CIRCLE(小圆圈)。
I=数据点间连接方式——常用的连接有NONE(没有)、JOIN(直线)、SPLINE
(平滑)、NEEDLE(从数据点到横坐标画垂直线)、HILOC(最高、最低、收盘
价)、RL(直线回归线)、BOX25(盒形线)。
W=连线的线宽——例如w=5。
H=图形符号的高度——例如h=2.5。
L=定义连线的类型——例如l=2。
C=定义颜色——例如c=red。
FONT=定义一种字体——例如font=swissb。
SYMBOLn语句所定义的各种选现,由于数量众多,用户一般很难记忆,我们上面所列
出的仅仅是一小部分。通常可以在命令输入框中发布SYMBOL命令,调出SYMBOL窗口,
在选项参数的横线上键入?后,在参数对话框中选择参数。共有14项参数选现,每项中还有
许多参数值。
一个SYMBOLn语句一旦被定义就一直保持有效,直到重新定义或者退出SAS系统。执
行一个不带任何选项的SYMBOLn语句将取消SYMBOLn的全部定义,并不影响其它的
SYMBOL语句。如果想要取消所有的SYMBOL语句定义,提交下面的语句:
goptionsret=symbol;
4用AXISn语句定义坐标轴
在PROCGPLOT中,可以通过PLOT语句的选项、LABEL语句和FORMAT语句来修饰
坐标轴。PLOT语句的选项允许控制坐标轴的刻度、文本和颜色。但使用AXISn语句的选项
可以更集中、更方便地控制和管理坐标轴。常见的使用格式如下:
ProcGplot
DATA=数据集
;
Plot
Y*X
/vaxis=axis1haxis=axis2
;
Symboln
<选项列表>;
axis1label=(‘Price’)order=(100to1500by200)offt=(20,10)
;
axis2
label=(‘Date’)order=(‘21dec90’dto‘01jan93’dby98)
;
Run;
AXISn语句的LABEL选项规定该轴的标签,ORDER选项规定该轴的取值范围,OFFSET
选项规定从该轴的原点开始的第一个主刻度空间大小,及从该轴最末端到最后一个刻度的空
间大小。例如语句中的OFFSET=(20,10),当单位是PCT时,表示第一个主刻度空间为图
形输出区域的20%,最后一个刻度的空间为图形输出区域的10%。
有时需要给图形加第二根纵轴,用来表示在同一时间期间上的另一个变量。两个变量不
用同一纵坐标轴的原因,常常是两个变量的值的相差太大,如果两个变量的值显示在同一纵
轴上,在图形上就会很难分辨值较小那个变量的值的变化。定义第二根纵轴(右轴)的方法
如下:
PorcGplot
DATA=数据集
;
Plot
Y1*X
/vaxis=axis1haxis=axis2
;
Plot2
Y2*X
/vaxis=axis3
;
Symboln
<选项列表>;
axis1
<选项列表>;
axis2
<选项列表>;
axis3
<选项列表>;
Run;
用第二条PLOT2语句定义了第二根纵轴AXIS3。
例如,我们要在同一图形上绘制上证指数的最高-最低-收盘价和交易青春的电影 量的图形。由于价格和交易量的取值范围不同且相差悬殊,交易量用左边的纵轴来度量,价格采用右边的纵轴来
上海财经大学经济信息管理系IS/SHUFE
Page7of16
度量。要生成最高-最低-收盘价图,原来INDEXSH数据集中的数据排列格式不符合要求,需
要用数据步修改INDEXSH为INDEXSH2,将一条观测中最高HIGH、最低LOW、收盘价
CLOSE三个数据,转换成三条观测中VALUE变量的数据,且三条观测的日期DATE不变。
程序如下:
Libname
study"d:sasdatamydir";
data
h2;
t
h;
value=high;output;
value=low;output;
value=clo;output;
Run;
Goptions
ret=globalgunit=pctcback=whiteborder
htitle=6htext=3ftext=swissbcolors=(back);
Procgplotdata=h2;
plot
volume*date/vaxis=axis1hvxis=axis2;
plot2
value*date/vaxis=axis3vref=0;
symbol1i=needle;
symbol2i=hiloc;
axis1
label=('Volume')order=(0toby)offt=(0,50);
axis2
label=('Date')order=('21dec90'dto'01jan93'dby98);
axis3
label=('Price')order=(0to1500by100)offt=(25,0);
title'ShanghaiStockIndex';
Run;
程序的运行结果显示在GRAPH窗口中,见图20-3所示。
图20-3用GPLOT过程定制的价格和成交量图
在用PROCGPLOT过程绘制高分辨率的前,首先把绘图的数据转换和处理成能符合
I=HOLOC连接方式的数据格式,另外为了确保在生成图形时,各种符号定义准确,一般先使
用GOPTIONS语句,清除先前定义各种符号(RESET=GLOBAL),然后再定义将在图中使用
的全局符号体系。
三.散布图
散布图又称散点图或相关图。它是以散点的分布反映变量之间相关情况的统计图。根据
图中的各点分布和密集程度,大致可以判断变量之间协变关系的类型。在回归模型中,常用
散布图来描述变量之间的相关关系,横轴上自变量的改变将引起纵轴上因变量的改变,回归
模型中参数的计算。是通过使因变量的理论值与实际值之间偏差的平方和达到最小而得到的。
为了便于理解散布图在回归模型中的应用,我们先用已知的线性方程来虚拟构造一组样
本数据,画出散布图,从图中各散点形成的趋势看,是否符合线性关系,然后决定用线性回
归模型求回归方程,作为对总体回归直线的近似,必须进行统计检验才能确定这种近似是否
恰当,最后我们可以得到确认的总体回归方程,再比较我们已知的方程,应该发现非常接近。
例如,新创建的数据集LINE,是我们用身高(HEIGH)=体重(WEIGHT)+100这样一
个简单直线方程来生成的模拟数据集。数据集中有一组高度HEIGH和体重WEIGHT的观测
值。假设我们需要绘制回归直线及置信带等。可以先画出高度对体重的散布图进行观察和分
析,然后利用回归过程建立高度(因变量)和体重(自变量)的线性方程式后,进一步可画
出高度预测值对体重的散布图进行比较和分析。程序如下:
Libname
study"d:sasdatamydir";
data
;
上海财经大学经济信息管理系IS/SHUFE
Page9of16
do
n=1
to200
by
1
;
weight=40+60*ranuni(1);
height=1*weight+100+5*normal(1);
output;
end;
Procregdata=;
model
height=weight;
output
out=gp=predict;
procgplot
data=g;
plot
height*weightpredict*weight/overlay;
symbol1
v=dotc=redi=none;
symbol2v=nonec=bluei=spline;
Run;
程序说明:数据步DATA自动生成200条观测,SAS系统提供了两个均匀分布的随机函
数RANUNI()和UNIFORM()产生0~1之间的随机数,用随机函数构成的40+60*ranuni(1)
表达式,将使WEIGHT变量的取值范围为40~100公斤之间的随机值。SAS系统还提供了两
个标准正态分布的随机函数NORMAL()和RANNOR(),产生均值为0标准差为1标准正
态随机数。随机数表达式1*weight+100+5*normal(1)是经过线性变换产生的均值为
1*weight+100,标准差为5的随机数,对于正态分布将有95%的数据落在均值附近的两个标
准差之内,例如,对于weight=50来说,身高的均值为50+100=150,因此将有95%可能HEIGHT
变量的取值范围为140~160厘米。PROCREG回归过程,首先建立输入为WEIGHT输出为HEIGHT
的回归模型,并用OUTPUT语句创建包含身高预测值的输出数据集,定义输出数据集名为
g,定义存放预测值的变量名为PREDICT。最后用PROCGPLOT过程把实际高度
对重量及预测高度对重量两张散布图重叠放在一张图上,通常两张图应该用不同的作图字符
来表示散点,实际高度对重量用无任何连线的小圆点表示,预测高度对重量用平滑曲线连接
散点。
高分辨率的输出图形显示在GRAPH窗口,在OUTPUT窗口还显示输出PROCREG过程
的统计报告,如下所示:
Model:MODEL1
DependentVariable:HEIGHT
AnalysisofVarianceSumofMean
SourceDFSquaresSquareFValueProb>F
Model158792.3718358792.371832524.8810.0001
Error1984610.4706023.28521CTotal19963402.84243
RootMSE4.82547R-square0.9273
DepMean170.67056AdjR-sq0.9269C.V.2.82736
ParameterEstimates
ParameterStandardTforH0:
VariableDFEstimateErrorParameter=0Prob>|T|
INTERCEP197.1.65.6640.0001
WEIGHT11.0.50.2480.0001
从回归分析报告中我们看出,对样本回归直线与观测值之间的拟合程度的检验(也称拟
合优度检验)——用判定系数R
2
检验,R
2
的取值范围0~1,越接近1,拟合程度越好;反之
越差。本例中R
2
为
0.9273
,调整后的R
2
也为
0.9269
,非常接近于1。还有参数显著性检验(T
检验)和回归总体线性的显著性检验(F检验)都显示高度显著。我们可以确认回归模型的
估计式为:
HEIGHT=1.*WEIGHT+97.
SAS系统的许多图形过程都带有统计计算,许多统计分析过程都带有图形输出。PROC
GPLOT画图过程就带有回归模型的预测值和置信带计算,并用曲线连接。程序如下:
Goptions
ret=globalgunit=pctcback=whiteborder
htitle=6
htext=3ftext=swissbcolors=(back);
procgplot
data=;
plot
height*weightheight*weight/vaxis=axis1haxis=axis2overlay;
symbol1
i=nonev=dotcv=blackh=1.5;
symbol2
i=rlcli95ci=blackcv=blackco=blackw=2.5L=1;
axis1
label=('Height')order=(130to210by10);
axis2
label=('Weight')order=(40to100by10);
title
'LinearRegression';
Run;
程序说明:对样本数通塞脉片 据集不先调用统计计算过程求回归预测值,而是直接
绘制实际身高对体重的两张重叠散点图。然后对第二张图的连接方式I选项确定为RLCLI95,
分成三部分含义:⑴RL表示作直线回归,还可用表示作2次回归RQ和RQ0(消除截距,强
制线经过原点)代替,或表示作3次回归的RC、RC0代替;⑵CLI表示作单个预测值的置信
上海财经大学经济信息管理系IS/SHUFE
Page11of16
带,可用CLM代替,表示作均数的置信带;⑶95表示置信度为95%,另有两个可用值为90
和99。有关散布图中I选增强英语 项的回归参数取值,可在SYMBOL窗口的TYPE参数选项横线上
键入?后,再选择Urregressanalysis子菜单来查看或选定。CI表示回归线的颜色,CO表
示置信带的颜色,CV表示散点的颜色,W表示连接线的宽度,L表示连接线的类型。
程序的运行结果显示在GRAPH窗口中,见图21-4所示。图中大约有5%的数据点落在
两条虚线构成的置信带之外。
图20-4一元线性回归和95%置信限
四.折线图
折线图又称曲线图,是用线段的升降来说明现象变动情况的一种统计图,它主要用于表
现在时间上的变化趋势、现象的分配情况和两个现象之间的依存关系等。折线图常应用于时
间序列模型中,把有关时间序列的数据绘制成图形。广义上说,模型可划分为回归模型与时
间序列模型。从数学角度看,时间序列数据的建模是构造一个包含时间序列本身、推荐函数
的残差以及可选择的其它时间序列的函数。我们所观测到时间序列的值是时间序列过程的实
现。
用描述方法判定时间序列数据的趋势后,技术分析人员往往要对该序列建立模型并预测
它们的将来值。用时间序列的数据建立模型时,可以去掉序列的确定分量,也可以对确定部
分建立一个明确的模型。利用时间序列的其它组成部分建模后,把确定部分也加进去形成最
终模型。
例如,股票价格趋向于沿看得见可识别的趋势移动,技术分析想尽可能地识别趋势并在
趋势反转点改变投资。然而,由于随机波动遮掩了反转点或使反转点错误地出现,因此技术
分析必须借助于估计序列成分(包括趋势周期计算、季节和交易日方式的循环和非规则成分
的循环)或计算序列的移动平均来估计序列的趋势。
直接使用一些股票市场的时间序列数据绘制折线图,全部趋势可能难以直观识别。如果
移去非趋势成分会使趋势更容易显现。可以使用SAS/ETS软件中PROCX11过程来估计和调
节序列成分。作为对使用PROCX11过程去估计趋势成分的一种补充,可以采用平滑时间序
列的数据的方法,以便移去随机波动从而揭示数据中的趋势。一般地,通过计算数据的移动
平均可实现数据的平滑。移动平均有很多种类,主要有简单移动平均、加权移动平均和指数
加权移动平均,最优长度依赖于使用的时间结构。理解了数据中有关趋势的知识,将有助于
买、卖和持有股票的决定及交易的时机。
下面,我们首先对上证指数INDEXSH数据集计算简单的、加权的和指数加权的移动平
均线。然后绘制原始序列和移动平均的图形。程序如下:
Goptions
ret=globalgunit=pctcback=whiteborder
htitle=6
htext=3ftext=swissbcolor性感动漫女生 s=(back);
LibnameStudy“d:sasdatamydir”;
Data
study.
indexma;
h;
Ma10=(clo+lag(clo)+lag2(clo)+lag3(clo)+lag4(clo)
+lag5(clo)+lag6(clo)+lag7(clo)+lag8(clo)+lag9(clo))/10;
Wma10=(10*clo+9*lag(clo)+8*lag2(clo)+7*lag3(clo)+6*lag4(clo)
+5*lag5(clo)+4*lag6(clo)+3*lag7(clo)+2*lag8(clo)+lag9(clo))/55;
W1=0.3;
retainewma1;
If_n_=1thenewma1=clo;
elewma1=w1*clo+(1-w1)*ewma1;
W2=0.75;
retainewma2;
If_n_<2thenewma2=ewma1;
elewma2=w2*ewma1+(1-w2)*ewma2;
Procgplotdata=a;
plot
clo*datema10*date/vaxis=axis1haxis=axis2overlay;
symbol1
i=joinv=noneL=1h=2.5;
symbol2
i=joinv=noneL=1h=2.5w=2;
axis1
label=('Price')
logba=10
order=(16003200);
axis2
label=('Date');
title
'ShanghaiStockIndex';
Title2‘CloandMoveAverage’;
Run;
程序说明:DATA数据步创建了一个名为INDEXMA数据集,共生成了四种移动平均线,
使用滞后函数LAGn()生成了收盘价CLOSE的十日简单移动平均线MA10和十日加权移动
平均线WMA10;用平滑因子W1生成一次指数加权移动平均EWMA1,用平滑因子W2生成
二次指数加权移动平均EWMA2,平滑因子值较大,则对最近的序列值给出较大的权数,作
为一个一般原则,较小的平滑因子适于缓缓改变的趋势序列,而较大的平滑因子适于快速改
变的易变序列。IF-THEN-ELSE语句作用是将初始化处理和后面的正常处理分开来。
RETAIN语句作用是从DATA步这次到下次重复时,保留变量EWMA1和EWMA2的值。调
用PROCGPLOT过程绘制了收盘价和十日简单移动平均的图形,其中对纵轴(Price)定义的
上海财经大学经济信息管理系IS/SHUFE
Page13of16
AXIS1语句中加上了LOGBASE=10(或PI或e)的选项,就表示该轴是以10为底的对数轴。
程序的运行结果显示在GRAPH窗口中,见图21-5所示
除了用DATA数据步直接计算移动平均外,我们还可以用SAS/ETS软件的EXPAND过
程来生成时间序列数据的简单、加权和中心移动平均,用SAS/QC软件的MACONTROL过
程生成一致加权和指数加权的移动平均控制图表。
图21-5对时间序列的数据用移动平均估计趋势
五.层次图
PROCPLOT过程还能绘制层次图,又称等值线图或轮廓图。在地理学研究中用来绘制等
高线,在经济学研究中常用来画等值的利润曲线。例如线性规划中的产品混合问题,经济学
的一个核心问题是在有限的资源情况下,如何合理的分配资源,使效益最大化。假设我们要
生产两种产品X和Y,但受到时间T、空间S、能力C三种资源约束的,在已知两个产品的
单位利润为f
1
(x)和f
2
(y)情况下,各生产产品X和Y多少数量,才能使利润Z最大化。即:
时间资源约束:
f
t
(x,y)≤T
空间资源约束:
f
s
(x,y)≤S
能力资源约束:
f
c
(x,y)≤C
利润
Z=f
1
(x)X+f
2(y)Y
产品的单位利润一般受市场的需求和成本等因素影响,要销售的数量多,单价就要便宜,
单位利润就会变小,但生产的数量多,单位成本就会低,单位利润就会变大,两者的平衡点在边
际收益等于边际成本时生产的数量,但这仅是针对一种产品和资源不受约束的情况下。通常
的做法,是将利润函数Z在X和Y平面上画出等值线,而三种资源的约束函数曲线也将在X
和Y平面上围成可行域,然后在可行域中找出(X,Y)使等值线最大。设f
1
(x)=7-X+1/X,
f
2
(y)=9-Y+1/Y,那么:
Z=2+7X-X
2
+9Y-Y
2
用上面的这个函数生成一个包含三个变量X、Y、Z的利润数据集PROFIT,然后用PLOT
语句的CONTOUR选项就可以绘制出等值线图。程序如下:
libname
study"d:sasdatamydir";
Data
;
format
z5.1;
do
x=0to9by0.2;
do
y=0to9by0.1;
z=2+7*x-x*x+9*y-y*y;output;
end;
end;
Procplotdata=formchar='|----|---';
ploty*x=z/contour;
Run;
用PROCPLOT过程PLOT语句选项CONTOUR,最多只能分成了10个层次,由Z的取
值来决定所属的层次。第一层Z的取值范围-16.5~-11.0,第二层Z的取值范围-11.0~-5.5,…,
第十层Z的取值范围33.0~38.5。每一层用一个不同的作图字符表示。由于生成的是低分辩
率的图形,显示不清楚,我们改用PROCGCONTOUR过程来绘制高分辨率的层次图,最多
可以绘制100层。程序如下:
Goptions
ret=globalgunit=pctcback=whiteborder
htitle=6
htext=3ftext=swissbcolors=(back);
ProcG钢铁是怎么炼成的读后感 contourdata=;
ploty*x=z/nlevels=20
autolabel
xticknum=10
yticknum=10
nolegend;
Title
'ProfitGcontour';
Run;
程序的运行结果显示在GRAPH窗口中,见图21-6所示。
程序说明:NLEVELS=20选项定义层次图的层次数为20,AUTOLABEL选项定义层次
线的标签为自动生成,如图中32.3、29.9、27.5等,XTICKNUM=10和YTICKNUM=10选项
定义X和Y轴上刻度线的数目,NOLEGEND选项定义在层次图的下方不显示图例,若无此
选项,将显示每一层次线Z的具体值。还有许多其它选项,如可定义各个对象的颜色、可选
择网格线、垂直和水平参考线等等。
用等值线和可行域方法研究两个产品X和Y的混合问题,还可以推广到求解n个产品的
混合问题。此时的利润值是一个在n维空间的曲面,可以称为等值面,而可行域也为n维的
一个体积。
上海财经大学经济信息管理系IS/SHUFE
Page15of16
图21-6用GCONTOUR过程绘制的利润等值线图
本文发布于:2023-04-15 16:22:31,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/498640.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |