在“”一文中介绍了常用统计分布四类Web Service接口(随机数、分位数、密度函数和累积分布函数),本文介绍Javascript脚本语言和统计分布Web Service接口在网页设计中的基本用法。
1、Web Service接口及参数
银河统计随机分布Web Service接口分为四类样例(正态分布)
### 随机数 http://data.galaxystatistics.com:8881/?token=1f64f7f3d94a6ea252fd016577dd7992&type=normal_r&var_name=myReturn&sample_size=100&decimal_places=4&mean_value=0&sd_value=1 参数: 【sample_size, mean_value, sd_value, decimal_places】 【生成随机数数量, 均值, 标准差, 保留的小数位数】### 分位数(临界值) http://data.galaxystatistics.com:8881/?token=1f64f7f3d94a6ea252fd016577dd7992&type=normal_q&var_name=myReturn&mean_value=0&sd_value=1&probit_value=0.975 参数: 【probit_value, mean_value, sd_value】 【概率值(置信水平:1-α), 均值, 标准差】### 累计概率值 http://data.galaxystatistics.com:8881/?token=1f64f7f3d94a6ea252fd016577dd7992&type=normal_p&var_name=myReturn&mean_value=0&sd_value=1&quantile_value=1.96 参数: 【quantile_value, mean_value, sd_value】 【分位数值, 均值, 标准差】### 概率密度值 http://data.galaxystatistics.com:8881/?token=1f64f7f3d94a6ea252fd016577dd7992&type=normal_d&var_name=myReturn&mean_value=0&sd_value=1&decimal_places=4&random_num_arr=-1.4298|-1.3189|-1.2303|-0.2276|-0.0335|0.3198|0.3674|0.5244|0.5675|0.8554|-1.4298 参数: 【random_num_arr, mean_value, sd_value, decimal_places】 【概率密度函数自变量数组, 均值, 标准差, 保留的小数位数】
注:在网页中运行Web Service接口的最直接方式是在浏览器导航栏中复制、粘贴接口字符串并运行得到数据
参数解释:
银河统计服务地址:http://data.galaxystatistics.com:8881/?token:用户密匙。1f64f7f3d94a6ea252fd016577dd7992公用码,功能受限,可申请自用密匙type:数据服务类别var_name:数据服务接口返回变量名称(变量值为JSON数据格式)decimal_places:保留的小数位数
以上参数为各种分布共有,下面的参数为不同分别和不同类接口特有。就正态分布而言,
随机数接口:
size:随机样本数mean_value:期望值sd_value:标准差
分位数(临界值)接口:
mean_value:期望值sd_value:标准差probit_value:概率值(置信水平:1-α)
注:当置信度α为0.05时,在双侧标准正态分布表中,对应分位点为0.975,接口返回值为1.95996398454005
累计概率接口:
mean_value:期望值sd_value:标准差quantile_value:分位数值或累计概率
注:在接口参数中设quantile_value=1.96,返回值为0.97500210485178
概率密度函数接口
mean_value:期望值sd_value:标准差random_num_arr:概率密度函数自变量数组
注:概率密度函数接口根据上传自变量数组返回因变量数据组
2、Javascript回调函数
(1)回调函数及调用
Javascript是网页设计的流行脚本语言,为了在网页中动态调用统计Web Service接口并即时收到返回值,可编写Javascript回调函数如下,
function loadScript(url,callback){var script = document.createElement("script");script.type = "text/javascript";if (script.readyState){ script.onreadystatechange = function(){ if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; callback(); } };} else { script.onload = function(){ callback(); }; }script.src = url;document.getElementsByTagName("head")[0].appendChild(script);window.setInterval(document.getElementsByTagName("head")[0].removeChild(script),1000);}
回调函数调用,
function test() {var oStr="http://data.galaxystatistics.com:8881/?token=1f64f7f3d94a6ea252fd016577dd7992&type=normal_r&var_name=random_number&sample_size=10&decimal_places=4&mean_value=0&sd_value=1"; //定义Web Service接口字符串var oDiv=document.getElementById("myDiv"); //在网页中加入ID为"myDiv"的div容器loadScript(oStr,function(){ //调用回调函数 oDiv.innerHTML=myReturn.result[0]; //将返回值写入指定div容器 });}
(2)导入Web Service接口数据
Web Service接口
接口返回值(3)在网页中动态语言Web Service统计接口
在网页中动态语言接口即通过用户在网页上自定义Web Service统计接口参数,从而根据参数重置接口字符串获得定制数据服务。
I、定制生成正态分布随机数。
样本数量 均值 标准差 保留小数位数
II、获得正态分布临界值
置信度\(\alpha\) 均值 标准差 单双侧 临界值 正态分布临界值
3、统计随机数运用实例
在现实生活中,许多现象所产生的数据往往趋向某种统计分布,运用统计随机数生成技术产生尽量逼真的统计模拟数据,并在模拟数据基础上通过计算机算法得出问题的近似解。即所谓蒙特卡罗(Monte Carlo)统计试验方法。
【报亭零售进货系统模拟】
某报刊零售点出售各种报纸。从长期观察记录得知,某种报纸每日需求量近似于正态分布,其均值为2000份、标准差为300份。每出售一份报纸可获利0.05元,当日售不出的报纸每份损失0.35元,若每日进货量相同,该种报纸每日进货多少可获得较多利润?
解决方案如下:
I、 模拟生成1000个均值为2000、标准差为300的正态分布随机样本;
II、盈亏计算:\[S_i= \begin{equation*} \begin{cases} 0.05\times Q_j\qquad\qquad\qquad\qquad\qquad \hspace{1mm}R_i\ge Q_j\\ 0.05\times R_i-0.35\times(Q_j-R_i)\qquad R_i<Q_j\\ \end{cases} \end{equation*} \]
式中,\(S_i\)盈亏、\(Q_j\)进货量、\(R_i\)正态分布模拟样本(\(i=1,2,\dots,10000\))。
模拟计算表如下:
售出获利 滞销亏损 进货量 样本量 均值 标准差
注:首先,运行“生成正态分布随机样本”(根据设定参数生成正态分布随机样本,并计算给定点进货量条件下的盈亏期望值。通过人机对话形式重新设置不同进货量并计算盈亏期望值,从而筛选除最佳进货量);其次,运行“区域进货量模拟计算”(根据生成的样本在给定进货量区域内自动搜索计算出最佳进货量和对应盈亏期望值(注意不同样本最优解有差别))。也可以修改其它参数观察模拟计算结果
银河统计将推出回归模型、数据挖掘等系列统计Web Service接口,为开发统计或应用数学网站提供支持。