回帰ライブラリ 使用例



[ 簡単な説明 ]

回帰ライブラリの使用例です。平均値を求めるために、標準統計量ライブラリの stat( ) を使用しています。

プログラム・ソース("test23.c")           top (先頭に戻る)
/*		test23.c		*/
#include <stdio.h>
#include "sslib.h"

int main(void)
{
	int i, n;
	static double x[10] = {	  50.,	  69.,	  73.,	  90.,	  93.,
							 100.,	 129.,	 145.,	 149.,	 193. };
	static double y[10] = {	  34.,	  37.,	  40.,	  45.,	  48.,
							  54.,	  60.,	  68.,	  72.,	  85. };
	double amp1, hmean, gmean, min, max, sum, sum2;
	double xt, yt, xbar, ybar, xmad, sx, vx, stx, uvx, squvx, cvx, a3x, a4x;
	double a, b, dyx, va, vb, al, au, bl, bu, uxy, r0;

	n = 10;
	printf("   data !\n");
	for(i = 0; i < 10; i++)	printf("      %6.1f         %6.1f\n", x[i], y[i]);
	stat(y, n, &min, &max, &amp1, &yt, &sum2, &ybar, &gmean, &hmean, &xmad, &sx, &vx, &stx, &uvx, &squvx, &cvx, &a3x, &a4x);
	stat(x, n, &min, &max, &amp1, &xt, &sum2, &xbar, &gmean, &hmean, &xmad, &sx, &vx, &stx, &uvx, &squvx, &cvx, &a3x, &a4x);
	printf("xbar = %7.3f    ybar = %7.3f\n", xbar, ybar);
	corr(x, y, n, xbar, ybar, &uxy, &r0);
	printf("test results from corr !\n");
	printf("  共分散   : uxy = %e\n", uxy);
	printf("  相関係数 : r0  = %e\n", r0);

	n = 10;
	stat(x, n, &min, &max, &amp1, &xt, &sum2, &xbar, &gmean, &hmean, &xmad, &sx, &vx, &stx, &uvx, &squvx, &cvx, &a3x, &a4x);
	sreg(x, y, n, sx, 0.95, &a, &b, &dyx, &va, &vb, &al, &au, &bl, &bu);
	printf("\ntest results from steg ! \n");
	printf("  y = (%7.3f) + (%7.3f) * x\n", a, b);
	printf("  回帰誤差 : dyx = %7.3f\n", dyx);
	printf("  a の分散 : va  = %7.3f\n", va);
	printf("  b の分散 : vb  = %7.4f\n", vb);
	printf("  信頼区間     %7.3f < a < %7.3f\n", al, au);
	printf("               %7.3f < b < %7.3f\n", bl, bu);
	return 1;
}

出力結果           top (先頭に戻る)
   data !
        50.0           34.0
        69.0           37.0
        73.0           40.0
        90.0           45.0
        93.0           48.0
       100.0           54.0
       129.0           60.0
       145.0           68.0
       149.0           72.0
       193.0           85.0
xbar = 109.100    ybar =  54.300
test results from corr !
  共分散   : uxy = 7.309667e+02
  相関係数 : r0  = 9.931012e-01

test results from steg ! 
  y = ( 13.114) + (  0.378) * x
  回帰誤差 : dyx =   4.328
  a の分散 : va  =   3.389
  b の分散 : vb  =  0.0002
  信頼区間       8.869 < a <  17.360
                 0.341 < b <   0.414