在PostgreSQL中如何生成线性相关的测试数据-阿里云开发者社区

开发者社区> 阿里云数据库> 正文
登录阅读全文

在PostgreSQL中如何生成线性相关的测试数据

简介:

生成线性相关的测试数据。
同样可以用到generate_series和随机数。
例子
生成10万条随机数字。

select trunc(10000 + 1000000*random()) id from generate_series(1,100000);  

根据刚才那组数据,加减5以内的随机数,生成另一组数字。

select id, trunc(id + 5-random()*10) from 
(select trunc(10000 + 1000000*random()) id from generate_series(1,100000)) t;

如下

postgres=# create table corr_test(c1 int, c2 int);
CREATE TABLE
postgres=# insert into corr_test select id, trunc(id + 5-random()*10) from (select trunc(10000 + 1000000*random()) id from generate_series(1,100000)) t;
INSERT 0 100000

线性相关性如下:

postgres=# select corr(id, trunc(id + 5-random()*10)) from (select trunc(10000 + 1000000*random()) id from generate_series(1,100000)) t;
       corr        
-------------------
 0.999999999954681
(1 row)
... ...
postgres=# select corr(id, trunc(id + 5-random()*10)) from (select trunc(10000 + 1000000*random()) id from generate_series(1,100000)) t;
       corr        
-------------------
 0.999999999954898
(1 row)

p元回归的测试数据也可以使用以上方法生成。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云数据库
使用钉钉扫一扫加入圈子
+ 订阅

帮用户承担一切数据库风险,给您何止是安心!

官方博客
最新文章
相关文章
链接