Sql Server 偏差値の求め方

Sql Server 偏差値の求め方

Sql Server を使って偏差値を求める SQL の書き方です。
偏差値とは、ある数値がサンプルの中でどれくらいの位置にいるかを表した無次元数。
平均値が50、標準偏差が10となるように標本変数を規格化したものです。
偏差値の利用価値が高いのは、サンプルの数値の分布が正規分布に近い状態の時で、試験などの結果に良く利用されていますね。

偏差値の求め方

偏差値の求め方ですが、
1)平均点を求める
2)平均点との差を求める
3)平均点との差の平方数を求める
4)分散を求める
5)標準偏差を求める
6)平均点との差に10をかけ標準偏差で割り+50する
以上で偏差値が求まります。

SQL で偏差値を求める

偏差値を求める SQL の例を示します。

declare @tbl1 table(c_point int)
insert into @tbl1 (c_point) values (30)
insert into @tbl1 (c_point) values (40)
insert into @tbl1 (c_point) values (20)
insert into @tbl1 (c_point) values (60)
insert into @tbl1 (c_point) values (60)
insert into @tbl1 (c_point) values (70)
insert into @tbl1 (c_point) values (80)

--平均値を算出する
declare @avg float
select @avg=AVG(cast(c_point as float)) from @tbl1

--標準偏差を求める
declare @varp float
select @varp=STDEVP(c_point) from @tbl1
select @varp

--平均点との差に10をかけ標準偏差で割り+50する
declare @tbl2 table(c_point int, c_standardscore float)
insert into @tbl2 select c_point, ((c_point-@avg)*10)/@varp+50 from @tbl1
select * from @tbl2
SQLで偏差値を求めた結果

SQLで偏差値を求めた結果

以上、「Sql Server 偏差値の求め方」でした。