Oracle PL/SQL Tutorial/Linear Regression Functions/STATS F TEST
Содержание
- 1 For degrees of freedom: STATS_F_TEST(expr1, expr2, "DF_NUM")
- 2 For significance level of one-sided test: STATS_F_TEST(expr1, expr2, "ONE_SIDED_SIG")
- 3 For significance level of two-sided test: STATS_F_TEST(expr1, expr2, "TWO_SIDED_SIG")
- 4 For the test statistic value: STATS_F_TEST(expr1, expr2, "STATISTIC")
- 5 STATS_F_TEST(expr1, expr2, "DF_DEN")
For degrees of freedom: STATS_F_TEST(expr1, expr2, "DF_NUM")
SQL>
SQL>
SQL> -- create demo table
SQL> create table myTable(
2 id NUMBER(2),
3 value NUMBER(6,2)
4 )
5 /
Table created.
SQL>
SQL> -- prepare data
SQL> insert into myTable(ID, value)values (1,9);
1 row created.
SQL> insert into myTable(ID, value)values (2,2.11);
1 row created.
SQL> insert into myTable(ID, value)values (3,3.44);
1 row created.
SQL> insert into myTable(ID, value)values (4,-4.21);
1 row created.
SQL> insert into myTable(ID, value)values (5,10);
1 row created.
SQL> insert into myTable(ID, value)values (6,3);
1 row created.
SQL> insert into myTable(ID, value)values (7,-5.88);
1 row created.
SQL> insert into myTable(ID, value)values (8,123.45);
1 row created.
SQL> insert into myTable(ID, value)values (9,98.23);
1 row created.
SQL> insert into myTable(ID, value)values (10,938.23);
1 row created.
SQL> insert into myTable(ID, value)values (11,984.23);
1 row created.
SQL> insert into myTable(ID, value)values (12,198.23);
1 row created.
SQL> insert into myTable(ID, value)values (13,928.87);
1 row created.
SQL> insert into myTable(ID, value)values (14,25.37);
1 row created.
SQL> insert into myTable(ID, value)values (15,918.3);
1 row created.
SQL> insert into myTable(ID, value)values (16,9.23);
1 row created.
SQL> insert into myTable(ID, value)values (17,8.23);
1 row created.
SQL>
SQL> select * from myTable
2 /
ID VALUE
---------- ----------
1 9
2 2.11
3 3.44
4 -4.21
5 10
6 3
7 -5.88
8 123.45
9 98.23
10 938.23
11 984.23
ID VALUE
---------- ----------
12 198.23
13 928.87
14 25.37
15 918.3
16 9.23
17 8.23
17 rows selected.
SQL>
SQL>
SQL> SELECT STATS_F_TEST(1.2, value, "DF_NUM") FROM myTable;
STATS_F_TEST(1.2,VALUE,"DF_NUM")
--------------------------------
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
2 /
Table dropped.
For significance level of one-sided test: STATS_F_TEST(expr1, expr2, "ONE_SIDED_SIG")
SQL>
SQL>
SQL> -- create demo table
SQL> create table myTable(
2 id NUMBER(2),
3 value NUMBER(6,2)
4 )
5 /
Table created.
SQL>
SQL> -- prepare data
SQL> insert into myTable(ID, value)values (1,9);
1 row created.
SQL> insert into myTable(ID, value)values (2,2.11);
1 row created.
SQL> insert into myTable(ID, value)values (3,3.44);
1 row created.
SQL> insert into myTable(ID, value)values (4,-4.21);
1 row created.
SQL> insert into myTable(ID, value)values (5,10);
1 row created.
SQL> insert into myTable(ID, value)values (6,3);
1 row created.
SQL> insert into myTable(ID, value)values (7,-5.88);
1 row created.
SQL> insert into myTable(ID, value)values (8,123.45);
1 row created.
SQL> insert into myTable(ID, value)values (9,98.23);
1 row created.
SQL> insert into myTable(ID, value)values (10,938.23);
1 row created.
SQL> insert into myTable(ID, value)values (11,984.23);
1 row created.
SQL> insert into myTable(ID, value)values (12,198.23);
1 row created.
SQL> insert into myTable(ID, value)values (13,928.87);
1 row created.
SQL> insert into myTable(ID, value)values (14,25.37);
1 row created.
SQL> insert into myTable(ID, value)values (15,918.3);
1 row created.
SQL> insert into myTable(ID, value)values (16,9.23);
1 row created.
SQL> insert into myTable(ID, value)values (17,8.23);
1 row created.
SQL>
SQL> select * from myTable
2 /
ID VALUE
---------- ----------
1 9
2 2.11
3 3.44
4 -4.21
5 10
6 3
7 -5.88
8 123.45
9 98.23
10 938.23
11 984.23
ID VALUE
---------- ----------
12 198.23
13 928.87
14 25.37
15 918.3
16 9.23
17 8.23
17 rows selected.
SQL>
SQL>
SQL> SELECT STATS_F_TEST(1.2, value, "ONE_SIDED_SIG") FROM myTable;
STATS_F_TEST(1.2,VALUE,"ONE_SIDED_SIG")
---------------------------------------
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
2 /
Table dropped.
For significance level of two-sided test: STATS_F_TEST(expr1, expr2, "TWO_SIDED_SIG")
SQL>
SQL> -- create demo table
SQL> create table myTable(
2 id NUMBER(2),
3 value NUMBER(6,2)
4 )
5 /
Table created.
SQL>
SQL> -- prepare data
SQL> insert into myTable(ID, value)values (1,9);
1 row created.
SQL> insert into myTable(ID, value)values (2,2.11);
1 row created.
SQL> insert into myTable(ID, value)values (3,3.44);
1 row created.
SQL> insert into myTable(ID, value)values (4,-4.21);
1 row created.
SQL> insert into myTable(ID, value)values (5,10);
1 row created.
SQL> insert into myTable(ID, value)values (6,3);
1 row created.
SQL> insert into myTable(ID, value)values (7,-5.88);
1 row created.
SQL> insert into myTable(ID, value)values (8,123.45);
1 row created.
SQL> insert into myTable(ID, value)values (9,98.23);
1 row created.
SQL> insert into myTable(ID, value)values (10,938.23);
1 row created.
SQL> insert into myTable(ID, value)values (11,984.23);
1 row created.
SQL> insert into myTable(ID, value)values (12,198.23);
1 row created.
SQL> insert into myTable(ID, value)values (13,928.87);
1 row created.
SQL> insert into myTable(ID, value)values (14,25.37);
1 row created.
SQL> insert into myTable(ID, value)values (15,918.3);
1 row created.
SQL> insert into myTable(ID, value)values (16,9.23);
1 row created.
SQL> insert into myTable(ID, value)values (17,8.23);
1 row created.
SQL>
SQL> select * from myTable
2 /
ID VALUE
---------- ----------
1 9
2 2.11
3 3.44
4 -4.21
5 10
6 3
7 -5.88
8 123.45
9 98.23
10 938.23
11 984.23
ID VALUE
---------- ----------
12 198.23
13 928.87
14 25.37
15 918.3
16 9.23
17 8.23
17 rows selected.
SQL>
SQL>
SQL> SELECT STATS_F_TEST(1.2, value, "TWO_SIDED_SIG") FROM myTable;
STATS_F_TEST(1.2,VALUE,"TWO_SIDED_SIG")
---------------------------------------
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
2 /
Table dropped.
For the test statistic value: STATS_F_TEST(expr1, expr2, "STATISTIC")
This function tests the equality of two population variances.
The resulting f value is the ratio of one sample variance to the other sample variance.
Values very different from 1 usually indicate significant differences between the two variances.
SQL> -- create demo table
SQL> create table myTable(
2 id NUMBER(2),
3 value NUMBER(6,2)
4 )
5 /
Table created.
SQL>
SQL> -- prepare data
SQL> insert into myTable(ID, value)values (1,9);
1 row created.
SQL> insert into myTable(ID, value)values (2,2.11);
1 row created.
SQL> insert into myTable(ID, value)values (3,3.44);
1 row created.
SQL> insert into myTable(ID, value)values (4,-4.21);
1 row created.
SQL> insert into myTable(ID, value)values (5,10);
1 row created.
SQL> insert into myTable(ID, value)values (6,3);
1 row created.
SQL> insert into myTable(ID, value)values (7,-5.88);
1 row created.
SQL> insert into myTable(ID, value)values (8,123.45);
1 row created.
SQL> insert into myTable(ID, value)values (9,98.23);
1 row created.
SQL> insert into myTable(ID, value)values (10,938.23);
1 row created.
SQL> insert into myTable(ID, value)values (11,984.23);
1 row created.
SQL> insert into myTable(ID, value)values (12,198.23);
1 row created.
SQL> insert into myTable(ID, value)values (13,928.87);
1 row created.
SQL> insert into myTable(ID, value)values (14,25.37);
1 row created.
SQL> insert into myTable(ID, value)values (15,918.3);
1 row created.
SQL> insert into myTable(ID, value)values (16,9.23);
1 row created.
SQL> insert into myTable(ID, value)values (17,8.23);
1 row created.
SQL>
SQL> select * from myTable
2 /
ID VALUE
---------- ----------
1 9
2 2.11
3 3.44
4 -4.21
5 10
6 3
7 -5.88
8 123.45
9 98.23
10 938.23
11 984.23
ID VALUE
---------- ----------
12 198.23
13 928.87
14 25.37
15 918.3
16 9.23
17 8.23
17 rows selected.
SQL>
SQL>
SQL> SELECT STATS_F_TEST(1.2, value, "STATISTIC") FROM myTable;
STATS_F_TEST(1.2,VALUE,"STATISTIC")
-----------------------------------
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
2 /
Table dropped.
STATS_F_TEST(expr1, expr2, "DF_DEN")
SQL>
SQL>
SQL> -- create demo table
SQL> create table myTable(
2 id NUMBER(2),
3 value NUMBER(6,2)
4 )
5 /
Table created.
SQL>
SQL> -- prepare data
SQL> insert into myTable(ID, value)values (1,9);
1 row created.
SQL> insert into myTable(ID, value)values (2,2.11);
1 row created.
SQL> insert into myTable(ID, value)values (3,3.44);
1 row created.
SQL> insert into myTable(ID, value)values (4,-4.21);
1 row created.
SQL> insert into myTable(ID, value)values (5,10);
1 row created.
SQL> insert into myTable(ID, value)values (6,3);
1 row created.
SQL> insert into myTable(ID, value)values (7,-5.88);
1 row created.
SQL> insert into myTable(ID, value)values (8,123.45);
1 row created.
SQL> insert into myTable(ID, value)values (9,98.23);
1 row created.
SQL> insert into myTable(ID, value)values (10,938.23);
1 row created.
SQL> insert into myTable(ID, value)values (11,984.23);
1 row created.
SQL> insert into myTable(ID, value)values (12,198.23);
1 row created.
SQL> insert into myTable(ID, value)values (13,928.87);
1 row created.
SQL> insert into myTable(ID, value)values (14,25.37);
1 row created.
SQL> insert into myTable(ID, value)values (15,918.3);
1 row created.
SQL> insert into myTable(ID, value)values (16,9.23);
1 row created.
SQL> insert into myTable(ID, value)values (17,8.23);
1 row created.
SQL>
SQL> select * from myTable
2 /
ID VALUE
---------- ----------
1 9
2 2.11
3 3.44
4 -4.21
5 10
6 3
7 -5.88
8 123.45
9 98.23
10 938.23
11 984.23
ID VALUE
---------- ----------
12 198.23
13 928.87
14 25.37
15 918.3
16 9.23
17 8.23
17 rows selected.
SQL>
SQL>
SQL> SELECT STATS_F_TEST(1.2, value, "DF_DEN") FROM myTable;
STATS_F_TEST(1.2,VALUE,"DF_DEN")
--------------------------------
SQL>
SQL>
SQL> -- clean the table
SQL> drop table myTable
2 /
Table dropped.