<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
random() 函數可以用於生成一個大於等於 0 小於等於 1 的亂數,生成的資料遵循平均分佈。不過在實際環境中,更多的資料則是遵循正態分佈。PostgreSQL 提供了一個擴充套件模組 tablefunc,可以用於生成遵循正態分佈的亂數;或者我們也可以建立儲存函數來模擬正態分佈的亂數。
考慮到它的實用性,PostgreSQL 16 新增了一個內建的 random_normal() 函數,用於生成這種亂數。我們使用該函數生成 10 個亂數:
select random_normal() as v from generate_series(1, 10); v | -------------------+ 1.9147182783615317| -1.7265731892046994| -0.9601043210986459| -1.481551351102244| -1.3763031483133177| 0.11872324455736474| 0.9016843380853512| 0.1288806844184827| -1.6392171916791691| 0.33770959079074697|
預設引數呼叫時,random_normal() 函數生成的亂數遵循標準正態分佈(均值為 0,標準差為 1)。
以下範例生成的亂數遵循均值為 1、標準差為 5 的正態分佈:
select random_normal(1, 5) as v from generate_series(1, 10); v | -------------------+ -0.4529440542028027| 5.442251124798599| 6.307851828542196| 4.122825670258253| -2.186242122101672| 4.767936509571358| 5.172144288566877| -3.761475521327373| -2.6431751259304193| 0.19249449162595722|
接下來我們驗證一下該函數生成的資料是否遵循正態分佈。
SELECT round(random_normal(1, 0.5)::numeric, 1) AS v, count(*), repeat('#', (count(*) / 100)::integer) FROM generate_series(1, 100000) GROUP BY v ORDER BY v; v |count|repeat | ----+-----+-------------------------------------------------------------------------------+ -1.2| 1| | -1.1| 1| | -1.0| 3| | -0.9| 9| | -0.8| 17| | -0.7| 21| | -0.6| 55| | -0.5| 98| | -0.4| 132|# | -0.3| 248|## | -0.2| 521|##### | -0.1| 728|####### | 0.0| 1090|########## | 0.1| 1586|############### | 0.2| 2203|###################### | 0.3| 2975|############################# | 0.4| 3878|###################################### | 0.5| 4840|################################################ | 0.6| 5778|######################################################### | 0.7| 6670|################################################################## | 0.8| 7299|######################################################################## | 0.9| 7720|############################################################################# | 1.0| 7960|###############################################################################| 1.1| 7794|############################################################################# | 1.2| 7271|######################################################################## | 1.3| 6745|################################################################### | 1.4| 5796|######################################################### | 1.5| 4796|############################################### | 1.6| 3904|####################################### | 1.7| 3034|############################## | 1.8| 2300|####################### | 1.9| 1567|############### | 2.0| 1175|########### | 2.1| 710|####### | 2.2| 454|#### | 2.3| 267|## | 2.4| 164|# | 2.5| 94| | 2.6| 56| | 2.7| 23| | 2.8| 7| | 2.9| 8| | 3.0| 2| |
從上面的圖形可以看出,函數返回的結果是一個正態分佈。我們還可以進一步通過均值和標準差進行驗證:
WITH RECURSIVE d(n, v) AS ( SELECT 1 AS n, random_normal(1, 0.5) AS v UNION ALL SELECT n+1, random_normal(1, 0.5) FROM d WHERE n<100000 ) SELECT count(*), avg(v), stddev(v) FROM d; count |avg |stddev | ------+------------------+-------------------+ 100000|1.0009116232651825|0.49890904328727353|
到此這篇關於PostgreSQL 16 新特性之正態分佈亂數函數的文章就介紹到這了,更多相關PostgreSQL亂數函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45