Keyword: ダービン・ワトソン検定, 統計量, 有意確率
概要
本サンプルはダービン・ワトソン検定の統計量の計算を行うC#によるサンプルプログラムです。 本サンプルは以下に示される10個の残差についてダービン・ワトソン検定を行い、統計量と統計量の有意確率の下限、上限を出力します。
※本サンプルはnAG Library for .NETに含まれる関数 g02fc() のExampleコードです。本サンプル及び関数の詳細情報は g02fc のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本関数の詳細はg02fc のマニュアルページを参照)| このデータをダウンロード |
g02fc Example Program Data 2 3.735719 0.912755 0.683626 0.416693 1.9902 -0.444816 -1.283088 -3.666035 -0.426357 -1.918697
- 1行目はタイトル行で読み飛ばされます。
- 2行目に回帰モデルの独立変数の数(ip)を指定しています。
- 3から4行目には残差(res)を指定しています。
出力結果
(本関数の詳細はg02fc のマニュアルページを参照)| この出力例をダウンロード |
g02fc Example Program Results Durbin-Watson statistic 0.9238 Lower and upper bound 0.0610 0.0060
- 3行目にダービン・ワトソン統計量が出力されています。
- 5行目に統計量の有意確率の下限と上限が出力されています。
ソースコード
(本関数の詳細はg02fc のマニュアルページを参照)
※本サンプルソースコードは .NET環境用の科学技術・統計計算ライブラリである「nAG Library for .NET」の関数を呼び出します。
サンプルのコンパイル及び実行方法
| このソースコードをダウンロード |
// g02fc Example Program Text
// C# version, nAG Copyright 2008
using System;
using NagLibrary;
using System.IO;
namespace NagDotNetExamples
{
public class G02FCE
{
static bool defaultdata = true;
static string datafile = "";
static void Main(String[] args)
{
if (args.Length == 1)
{
defaultdata = false;
datafile = args[0];
}
StartExample();
}
public static void StartExample()
{
try
{
DataReader sr = null;
if (defaultdata)
{
sr = new DataReader("exampledata/g02fce.d");
}
else
{
sr = new DataReader(datafile);
}
const int n = 10;
double d, pdl, pdu; int i, ip;
double[] res = new double[n];
int ifail;
Console.WriteLine("g02fc Example Program Results");
// Skip heading in data file
sr.Reset();
sr.Reset();
ip = int.Parse(sr.Next());
sr.Reset();
for (i = 1; i <= n; i++)
{
res[i - 1] = double.Parse(sr.Next());
}
//
//
G02.g02fc(n, ip, res, out d, out pdl, out pdu, out ifail);
//
if (ifail == 0)
{
Console.WriteLine(" ");
Console.Write(" {0}{1,10:f4}", " Durbin-Watson statistic ", d);
Console.WriteLine(" ");
Console.WriteLine(" {0}{1,10:f4}{2,10:f4}", " Lower and upper bound ", pdl, pdu);
}
else
{
Console.WriteLine(" ");
Console.WriteLine("** g02fc failed with ifail = {0,5}", ifail);
}
//
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.Write( "Exception Raised");
}
}
}
}
