(2017-02-10 银河统计)

在“统计随机数及临界值Web Service接口”一文中介绍了常用统计分布四类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接口



接口返回值

获得接口数据

注:将不同分布Web Service接口复制、粘贴到“Web Service接口”文本框中,运行“获得接口数据”按钮可得接口返回数据。为了在本例中返回所有接口数据,切记需要设定参数var_name=myReturn(数据服务接口返回相同变量名称)

(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接口,为开发统计或应用数学网站提供支持。

在网页中运用统计Web Service接口的更多相关文章

  1. 通过ajax访问Tomcat服务器web service接口时出现No 'Access-Control-Allow-Origin' header问题的解决办法

    问题描述 通过ajax访问Web服务器(Tomcat7.0.42)中的json web service接口的时候,报以下跨域问题: XMLHttpRequest cannot load http:// ...

  2. 统计随机数及临界值Web Service接口

    (2017-02-04 银河统计) 统计函数API概念   API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发 ...

  3. 使用wsimport和JAX-WS调用Web Service接口

    本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...

  4. 使用JDK自带功能,实现一个简单的Web Service接口发布

    万事开头难,本篇文章的目的就是使用JDK自带的功能,实现一个最简单的Web Service接口的发布. 下图是项目的组成,主要有三个部分,一个接口(WS),一个接口的实现类(WSImp),还有一个接口 ...

  5. 免费的天气Web Service接口

    免费的天气Web Service接口 在android应用当中很多时候需要获取天气的信息,这里提供怎么获取天气信息: 1. http://www.ayandy.com/Service.asmx?wsd ...

  6. 建立Web Service 接口及调用

    WEB SERVICE 接口: [WebMethod] public string MaterialRequest(string jsonText) { string WorkNo; string P ...

  7. Java web中为什么要用Service接口和DAO接口?

    面向接口:依赖倒转原理----使用service接口的原因是为了让表示层不依赖于业务层的具体实现,使用dao接口的原理也是如此,而且便于spring ioc容器,当修改dao层,时不需要修改servi ...

  8. web service接口 wsdl和asmx有什么区别

    没有区别,只是后缀名的区别.Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立 ...

  9. SoapUI软件-测试Web Service接口

    一.新建项目 New SOAP Project Project Name填入项目名称:Initial WSDL中填入接口地址,或后缀为.wsdl的文件:OK: 添加后可在左侧看到接口详情: 二.测试接 ...

随机推荐

  1. vs2008 使用百度编辑器

    准备工作 百度编辑器官方下载,并将文件放到项目根目录下. 因为vs2008 只到Framework 3.5,所以需要将4.0的东西去掉. 1)下载.net framework 3.5版的 Newton ...

  2. Windows下使用VS2017搭建FLTK开发环境

    环境介绍 系统:win10 64位 IDE:VS 2017 Community FLTK版本:1.3.4-2 下载FLTK 截止到本文编写,FLTK的最新稳定版本是1.3.4-2.我们从官网(www. ...

  3. Springboot中enable注解

    这句话可以作为理解springboot自动注入的原理的钥匙:ImportSelector接口的selectImports返回的数组(类的全类名)都会被纳入到spring容器中. 至于spring怎么根 ...

  4. css 背景图片虚化效果

    转载地址:http://blog.csdn.net/ohehehou/article/details/51975539 需求:一个div设置了background: url,现在需要使图片背景模糊,d ...

  5. 关于 telegram中 callback_data <= 64bytes 的解决方法

    解决方法: # bind data to uuid import uuid my_data = long_json_string my_uuid = uuid.uuid4() user_data[my ...

  6. Windows 平台下局域网劫持测试工具 – EvilFoca

    简介 安全测试工具可能含有攻击性,请谨慎适用于安全教学及学习用途,禁止非法利用! EvilFoca是Windows环境下基于.NET FrameWork的一款轻量级的劫持测试工具.与BackTrack ...

  7. Matplotlib学习

    决定通过一个个例子来实践并掌握Matplotlib.. 例子1. 画一个散点图,数据分布如下: import numpy as np import pandas as pd import matplo ...

  8. Oracle课程档案,第十天

    用户管理 Authentication: 身份验证 AAA:Authentication: 身份验证 Authorization: 权限管理 Audition: 审计 grant:授权 unset:撤 ...

  9. redis数据库通过dump.rdb文件恢复数据库或者数据库迁移

    环境:centos7.2软件:redis-3.2.10(yum安装) 情景一:公司之前的redis没有开启aof模式,一直是rdb模式,但是数据又非常重要,数据一点也不能丢失,所以需要开启aof,但是 ...

  10. Django中URL有关

    django 模板中url的处理   在模板中直接添加‘/home’这样的链接是十分不推荐的,因为这是一个相对的链接,在不同网页中打开可能会返回不一样的结果. 所以推荐的是 1 <a href= ...