标签分类
当前位置:首页 > 其它计算机电子书 > 统计学电子书网盘下载
统计学七支柱 统计学七支柱
码小辫

码小辫 提供上传

资源
48
粉丝
24
喜欢
115
评论
20

    统计学七支柱 PDF 影印完整版

    统计学电子书
    • 发布时间:

    给大家带来的一篇关于统计学相关的电子书资源,介绍了关于统计学方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小8.8 MB,史蒂芬·斯蒂格勒编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.5,更多相关的学习资源可以参阅 其它计算机电子书、等栏目。

  • 统计学七支柱 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1RNcXV09_27htsBwpQcy-Cw
  • 分享码:e8p8
  • 统计学七支柱 PDF

    《统计学七支柱》介绍了统计学的七个基本思想——聚合、信息、似然、相互比较、回归、设计、残差,从其由来到引入,从基本概念到对“统计”这门学科的深远影响,并由此深入阐述统计学的科学本质。

    目录

    • 第 1章 聚合:从表格和均值到*小二乘 1
    • 第 2章 信息:度量与变化率 23
    • 第3章 似然:概率尺度上的校准 35
    • 第4章 相互比较:作为标准的样本内变异 51
    • 第5章 回归:多元分析、贝叶斯推断和因果推断 65
    • 第6章 设计:实验方案和随机化的作用 95
    • 第7章 残差:科学逻辑、模型比较以及诊断展示 109

    读书笔记

    基于Spring Data Jest的Elasticsearch数据统计示例

    命令查询职责分离模式(Command Query Responsibility Segregation,CQRS)从业务上分离修改 (Command,增,删,改,会对系统状态进行修改)和查询(Query,查,不会对系统状态进行修改)的行为。从而使得逻辑更加清晰,便于对不同部分进行针对性的优化。

    CQRS有以下几点有点:

    1.分工明确,可以负责不同的部分;
    2.将业务上的命令和查询的职责分离能够提高系统的性能、可扩展性和安全性。并且在系统的演化中能够保持高度的灵活性,能够防止出现CRUD模式中,对查询或者修改中的某一方进行改动,导致另一方出现问题的情况;
    3.逻辑清晰,能够看到系统中的那些行为或者操作导致了系统的状态变化;
    4.可以从数据驱动(Data-Driven) 转到任务驱动(Task-Driven)以及事件驱动(Event-Driven)。
    因此Command使用数据库,Query使用效率查询效率更高的Elasticsearch。

    如何确保数据库和Elasticsearch的数据的一致性?

    我们可以使用事件驱动(Event-Driven)即Spring Data的Domain Event同步数据,可参考文章://www.jb51.net/article/135604.htm 。

    当老数据库有大量数据需要导入Elasticsearch时,可参考文章://www.jb51.net/article/135426.htm

    Spring Data Elasticsearch使用的是transport client,而Elasticsearch官网推荐使用REST client。阿里云的Elasticsearch使用transport client目前还在存在问题,阿里云推荐使用REST client。

    本示例使用的是Spring Data Jest链接Elasticsearch(目前只有spring boot2.0以上版本支持),Elasticsearch的版本为:5.5.3

    1.项目构建

    1.pom依赖如下:

    <dependency>
      <groupId>com.github.vanroy</groupId>
      <artifactId>spring-boot-starter-data-jest</artifactId>
      <version>3.0.0.RELEASE</version>
    </dependency>
    
    <dependency>
      <groupId>io.searchbox</groupId>
      <artifactId>jest</artifactId>
      <version>5.3.2</version>
    </dependency>

    2.配置文件

    spring:
     data:
      jest:
       uri: http://127.0.0.1:9200
       username: elastic
       password: changeme
    

    2.构造查询条件

    以简单的实体类为例

    package com.hfcsbc.esetl.domain;
    import lombok.Data;
    import org.springframework.data.elasticsearch.annotations.Document;
    import org.springframework.data.elasticsearch.annotations.Field;
    import org.springframework.data.elasticsearch.annotations.FieldType;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.OneToOne;
    import java.util.Date;
    import java.util.List;
    
    /**
     * Create by pengchao on 2018/2/23
     */
    @Document(indexName = "person", type = "person", shards = 1, replicas = 0, refreshInterval = "-1")
    @Entity
    @Data
    public class Person {
      @Id
      private Long id;
      private String name;
      @OneToOne
      @Field(type = FieldType.Nested)
      private List<Address> address;
      private Integer number;
      private Integer status;
      private Date birthDay;
    }
    package com.hfcsbc.esetl.domain;
    import lombok.Data;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    
    /**
     * Create by pengchao on 2018/2/23
     */
    @Entity
    @Data
    public class Address {
      @Id
      private Long id;
      private String name;
      private Integer number;
    }
    

    1.根据多个状态查询(类似于sql的in)

    BoolQueryBuilder orderStatusCondition = QueryBuilders.boolQuery()
        .should(QueryBuilders.termQuery("status", 1))
        .should(QueryBuilders.termQuery("status", 2))
        .should(QueryBuilders.termQuery("status", 3))
        .should(QueryBuilders.termQuery("status", 4))
        .should(QueryBuilders.termQuery("status", 5));

    2.and链接查询(类似于sql的and)

    BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
    queryBuilder
        .must(queryBuilder1)
        .must(queryBuilder2)
        .must(queryBuilder3);
    

    3.range查询(类似于sql的between .. and ..)

    复制代码 代码如下:

    QueryBuilder rangeQuery = QueryBuilders.rangeQuery("birthDay").from(yesterday).to(today);

    4.嵌套对象查询

    复制代码 代码如下:

    QueryBuilder queryBuilder = QueryBuilders.nestedQuery("nested", QueryBuilders.termQuery("address.id", 100001), ScoreMode.None);

    ScoreMode: 定义other join side中score是如何被使用的。如果不关注scoring,我们只需要设置成ScoreMode.None,此种方式会忽略评分因此会更高效和节约内存

    3.获取统计数据

    1.非嵌套获取数据求和

    SumAggregationBuilder sumBuilder = AggregationBuilders.sum("sum").field("number");
    SearchQuery searchQuery = new NativeSearchQueryBuilder()
        .withIndices(QUERY_INDEX)
        .withTypes(QUERY_TYPE)
        .withQuery(boolQueryBuilder)
        .addAggregation(sumBuilder).build();
        
    AggregatedPage<ParkingOrder> account = (AggregatedPage<ParkingOrder>) esParkingOrderRepository.search(EsQueryBuilders.buildYesterdayArrearsSumQuery(employeeId));
    
    int sum = account.getAggregation("sum", SumAggregation.class).getSum().intValue();

    2.嵌套数据求和

    SumAggregationBuilder sumBuilder = AggregationBuilders.sum("sum").field("adress.num");
    AggregationBuilder aggregationBuilder = AggregationBuilders.nested("nested", "adress").subAggregation(sumBuilder);
    SearchQuery searchQuery = new NativeSearchQueryBuilder()
        .withIndices(QUERY_INDEX)
        .withTypes(QUERY_TYPE)
        .withQuery(boolQueryBuilder)
        .addAggregation((AbstractAggregationBuilder) aggregationBuilder).build();
    AggregatedPage<ParkingOrder> account = (AggregatedPage<ParkingOrder>) esParkingOrderRepository.search(EsQueryBuilders.buildYesterdayArrearsSumQuery(employeeId));
    int sum = account.getAggregation("nested", SumAggregation.class).getAggregation("sum", SumAggregation.class).getSum().intValue();

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    上一篇:SQL初学者指南  下一篇:零基础入门学习Python(含视频、源码)

    展开 +

    收起 -

    统计学相关电子书
    学习笔记
    网友NO.712707

    MySQL中几种数据统计查询的基本使用教程

    统计平均数 SELECT AVG() FROM 语法用于从数据表中统计数据平均数。 语法: SELECT AVG(column) FROM tb_name 该 SQL 语法用于统计某一数值类型字段的平均数,AVG() 内不能是多个字段,字符串等类型虽然可以执行,但无意义。 例子: SELECT AVG(uid) FROM user 得到查询结果: 2.5000 当然在此统计 uid 的平均数是无实际生产意义的,只是为了演示 AVG() 语法的用法。 统计数据之和 SELECT SUM() FROM 语法用于从数据表中统计数据之和。 语法: SELECT SUM(column) FROM tb_name 该 SQL 语法用于统计某一数值类型字段的数值之和,SUM() 内不能是多个字段,字符串等类型虽然可以执行,但无意义。 例子: SELECT SUM(uid) FROM user 得到查询结果: 复制代码 代码如下: 10 统计最大数据 SELECT MAX() FROM 语法用于从数据表中统计某个字段最大数据。 语法: SELECT MAX(column) FROM tb_name 该 SQL 语法用于统计某一数值类型字段的数值最大值,MAX() 内不能是多个字段。 例子: SELECT MAX(uid) FROM user 得到查询结果: 4 统计最小数据 SELECT MIN() FROM 语法用于从数据表中统计某个字段最小数据。 语法: SELECT MIN(column) FROM tb_name 具体用法请参考 MAX() 。 说明 以上统计查询包括普通字段查询可以混合使用: SELECT MAX(uid) as max,MIN(uid)as min,AVG(uid) as avg FROM user 得到查询结果如下: max min avg4 1 2.5000 但需要注意……

    网友NO.779531

    python 统计一个列表当中的每一个元素出现了多少次的方法

    如下所示: #coding=utf-8#方式一print('*'*20 + '方式一' + '*'*20)li1 = [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5]set1 = set(li1)for i in set1: print('%d 出现了 %d 次!'%(i,li1.count(i)))#方式二print('*'*20 + '方式二' + '*'*20)List=[1,2,2,2,2,3,3,3,4,4,4,4]a = {}for i in List: if List.count(i) = 1: a[i] = List.count(i)print (a)#方式三print('*'*20 + '方式三' + '*'*20)from collections import Counterli = [1,2,2,2,2,3,3,3,4,4,4,4]res = Counter(li)print(res) 运行结果: ********************方式一********************1 出现了 1 次!2 出现了 2 次!3 出现了 3 次!4 出现了 4 次!5 出现了 5 次!********************方式二********************{1: 1, 2: 4, 3: 3, 4: 4}********************方式三********************Counter({2: 4, 4: 4, 3: 3, 1: 1}) 以上这篇python 统计一个列表当中的每一个元素出现了多少次的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    网友NO.256747

    MySQL页面访问统计及排名情况

    MySQL页面访问统计及排名情况 统计访问页面数量,以分辨率进行排名 SELECT CONCAT(`height` , '*', `width`) AS `resolution` , COUNT(CONCAT(`height`, '*', `width`)) AS `total` FROM `wifi_status_page` GROUP BY CONCAT(`height`, '*', `width`) ORDER BY `total` DESC LIMIT 0 , 30 最近7天页面访问量,每日统计数量,以日期为序 SELECT td AS showdate, COALESCE( totalcount, 0 ) AS totalcount FROM ( SELECT CURDATE( ) AS td UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -1 DAY ) UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -2 DAY ) UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -3 DAY ) UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -4 DAY ) UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -5 DAY ) UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -6 DAY ) ORDER BY td )a LEFT JOIN ( SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') add_data, COUNT( id ) AS totalcount FROM wifi_status_page WHERE FROM_UNIXTIME(add_time, '%Y-%m-%d') BETWEEN DATE_ADD(CURDATE(), INTERVAL -6 DAY) AND CURDATE() GROUP BY add_data )b ON a.td = b.add_data 最近30天页面访问量,每日统计数量,以日期为序 SELECT td AS showdate, COALESCE( totalcount, 0 ) AS totalcount FROM ( SELECT CURDATE( ) AS td UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -1 DAY) UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -2 DAY) UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -3 DAY) UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -4 DAY) UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -5 D……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明