第 7 章
変量記号の割り当てられた変量だけではなく,演算式も変数変換の対象にすることができる.ラグ付き変量や対数を含むような演算もできる.また,回帰分析で作成した回帰係数ベクトルを用いて,ベクトルの内積演算を施すことも可能である.いくつかのスカラー変量を統合してベクトル変量を作成することもできる.シミュレーション用に条件文を組み込んでプログラムを分岐することもできる.また,外挿機能やデータ編集機能を含む種々の諸関数が用意されている.
このように変数変換には多種多様な機能があり,本章ではその概要と演算式について述べている.
日本経済データ($$n),ビジネス財務データ($$b),連結財務セクション($$c)あるいはユーザ・データ($$u)の各セクションで入力された変量のうちで,分析したり,グラフを描いたりする変量に1文字の互いに異なる変量記号が割り当てられている.その変量記号を用いて種々の変数変換を施すことができる.
変数変換には1形式のコマンドと,9形式のパラメータが用意されている.本章では,パラメータ形式の一覧と演算式について紹介する.詳細は一覧表の各パラメータ形式をクリックされたい.
変数変換(transform)コマンドは次の形式をとる.
$t |
変量変換のパラメータは,上述の「$t」コマンドに続いて,9タイプの形式で記述する.個々のパラメータ形式の詳細については,それぞれの項目をクリックされたい.演算式そのものについては本章の後半に説明している.
変 換 形 式 | 内 容 | |
1 | 演算式単独型 | □=(演算式 <例> y=(expX3+r)/n+20.3 c=(234.75) q=(b*logM) z=(f/s)/(1-v/s)100 Y=(y) |
2 | ベクトル内積型 | □=(演算式,演算式,…)"□ <例> i=(logR4,logy,logi1)"a |
3 | ベクトル連結型 | □=(演算式,演算式,…) <例> h=(27.5,0.784,-1.35,-0.008) k=(h,33,38.7,29.66) B=(B,k,h) |
4 | 1項関数型 | □=■■■(演算式)定数 <例> y=<.a(n/m) d=<.d(r4*72.8+20.3) q=&.s(q)4,1 G=f.>(abs(y-e)/absy)0.005 |
5 | 2項関数型 | □=■■■(演算式)定数 <例> Q=crg(x,y) m=csl(M,m)1982.4 |
6 | プリント型 | △=pr■(演算式,演算式,演算式,…) <例> △=pr*(x,y,abs(y-e)/absy) △=prt(M,m,e/p,f2/q2+18.5) |
7 | 条件文型 | △=if.(演算式,演算式,演算式,…) △=to. |
8 | 変量記号削除型 | △=del(□,□,□,□,…) <例> △=del(x,y,D) |
9 | 変量名付与型 | □,nam,変量名 <例> w,nam,WAGE per capita |
但し,□は変量記号,△はスペース,■は特定オペランドの各1文字分である.
演算式は,変量分析セクション($$v)の変数変換($t)や回帰($r)の中で用いられる.以下では演算式の構成要素と特徴について述べる.
演算式は,変量記号,ラグ付変量記号,定数,関数,算術演算子,丸括弧,符号で表記される.演算式の構成要素を一覧表にすると,次のようになる.
構 成 要 素 | 内 容 | |
1 | 変量記号 | 変量記号は英字1文字,または「?」記号つきの英字1文字 つまり,a,b,…,z,A,B,…,Z,?a,?b,…,?z,?A,?B,…,?Zのいずれかである. <例> a x Y A ?x ?Y |
2 | ラグ付き変量記号 | 変量記号の直後にタイムラグの整数を付けて表現する. <例> R4 [変量 R の4期のタイムラグを意味する] ?x12 [変量 ?x の12期のタイムラグを意味す] |
3 | 定数 | 整数および実数 <例> 378 21.065 -10 -0.76 c+45 -20.7+uv |
4 | 関数 | 対数 log,指数 exp,絶対値 abs 関数の括弧は,変量記号,ラグ付き変量記号,定数のいずれかの関数である場合に省略可能である. <例> logx logx3 log2.7 expA1 exp-3.5 absZ log(3.14xy) abs(x+?x) log(h(2y-x+0.5q)/?x) exp(3.14x?m) Blog?W |
5 | 算術演算子 | ベキ乗**,乗算*,除算/,加算+,減算 − 演算の優先順位は**が最優先で,* と/がその次で,最後が+と−である. なお,乗算の*は省略可能である. たとえば,a1*b**3 は a1b**3と表現してもよい.b の3乗を計算した後で a の1期のラグとの乗算が行われることになる.また 3xy は定数3と変量xと変量 y の乗算であるが,x3y は変量 x の3期のラグと変量 y の乗算であり,xy3 は変量 x と変量 y の3期のラグとの乗算である. もっとも,乗算の*の省略が関数名と同じになる場合は,*を省略することはできない.例えば変量a,b,sの乗算は,a*b*s ,a*bs ,ab*s ,a(bs) ,(ab)sといった式で表記することになる. <例> xx+2xy+yy x**2+2*x*y+y**2 (x+y)**2 q**0.5 ?x?y*10.88 f/(1-v/s) |
6 | 丸括弧 | 演算式の中に括弧でくくられた部分がある場合,一番内側の括弧内の演算式から計算される. <例> (Y-y)/k (L-(r1+r2+r3)/3)**2 (m-(m+M+?m+?M)/4)/(m+M+?m+?M)*100 |
7 | 符号 | 正符号 +,負符号 − <例> -a -p4 |
xcampusの演算式で特徴的なところは,変量記号を1文字ないし?記号付き1文字に限定している点であろう.1文字に限定しているがゆえに,ラグ付き変量を
a4 とか b1
というように簡略に表記できる.また乗算記号「*」の省略も可能になり,定数の
3 と変量 x と変量 y の乗算は,簡単に 3xy
と表記できるのである.さらに対数や指数,絶対値の関数についても,変量記号やラグ付変量記号,定数のそれぞれの単独の関数であるばあいは,括弧は不要となる.例えば,変量
x の2期のタイムラグの対数をとる場合,logx2
と記述できる.もっとも何らかの演算結果の対数をとる場合は,たとえば,定数の
3 と変量 x と変量 y
の乗算の値の対数をとるばあいは,括弧を使って
log(3xy) と表記しなければならない.
このように変量記号を1文字ないし?記号付き1文字に限定することは,演算式の表記を簡潔にするという長所があるが,一方で多数の変量を扱う場合,1文字表現では記号が足りなくなるとか,変量記号の意味づけができないといった短所が目立つようになる.しかし,変量記号やフラグ変量の1文字限定の枠を取り去ることは,市販の同種のシステムとほとんど差異がなくなり,xcampusの簡潔性という特性は薄れることになる.そこであえて変量記号を1文字ないし?記号付き1文字に固執して,その長所をさらに一層生かす方向を選んだ.シミュレーションの際に,観測値に小文字を使い,推定値に?記号付きの小文字を使えば,記号の意味を失わずに分析することが可能となる.また,演算式のままで数値プリントや回帰ができるので,一々新しい変量記号を割り当てる必要もないので,変量記号はかなり節約されるであろう.