美文网首页
数据科学 3 统计学

数据科学 3 统计学

作者: 她即我命 | 来源:发表于2018-11-20 10:19 被阅读27次

描述单个数据集
描述你部门成员有多少朋友?
描述方式式1:直接显示所有的数据:

num_friends =
[100,49,41,40,25,21,21,19,19,18,18,16,15,15,15,15,14,14,13,13,13,13,12,12,11,10
,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8
,
8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6
,
6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4
,
4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]

描述方式2: 直接绘图

def make_friend_counts_histogram():
 friend_counts = Counter(num_friends)
 xs = range(101)
 ys = [friend_counts[x] for x in xs]
 plt.bar(xs, ys)
 plt.axis([0,101,0,25])
 plt.title("Histogram of Friend Counts")
 plt.xlabel("# of friends")
 plt.ylabel("# of people")
 plt.show()

描述方式3: 统计信息
统计数据点个数

num_points = len(num_friends) 

数据集最大与最小值

largest_value = max(num_friends)
smallest_value = min(num_friends)

特定位置的值

sorted_values = sorted(num_friends)
smallest_value = sorted_values[0]
second_smallest_value = sorted_values[1]
second_largest_value = sorted_values[-2] 
倾向

有关数据中心位置的一些概念

均值 (mean 或 average)
数据和除以数据个数

def mean(x):
    return sum(x) / len(x)
mean(num_friends)
中位数 (median)

数据中间点的值(如果数据点的个数是奇数), 或者中间两个点的平均值(如果数据点的个
数是偶数)

例如:如果在排序向量x上有5个数据点,那么中位数就是x[5 2] 或 x[2]。如果有6个数据点,
中位数=(x[2] + x[3]) / 2

均值与中位数的差别:
均值会随着数据变化而变化,中位数不依赖于每一个数据的值。计算中位数需要对数据先排序。均值受异常值影响很大。
取中位数

def median(v):
 """finds the 'middle-most' value of v"""
 n = len(v)
 sorted_v = sorted(v)
 midpoint = n // 2
 if n % 2 == 1:
 # if odd, return the middle value
 return sorted_v[midpoint]
 else:
 # if even, return the average of the middle values
 lo = midpoint - 1
 hi = midpoint
 return (sorted_v[lo] + sorted_v[hi]) / 2
median([1, 3, 8, 15, 20])
median([1, 3, 15, 20])
median(num_friends)
分位数 (quantity)

少于数据中特别百分比的多个值

def quantile(x, p):
    p_index = int(p * len(x))
    return sorted(x)[p_index]
quantile(num_friends, 0.10)
quantile(num_friends, 0.25)
quantile(num_friends, 0.75)
quantile(num_friends, 0.90)
众数 (mode)

出现次数最多的⼀个或多个数

def mode(x):
 """returns a list, might be more than one mode"""
    counts = Counter(x)
    max_count = max(counts.values())
    return [x_i for x_i, count in counts.items() if count == max_count]

mode(num_friends)
离散度

数据离散程度的一种度量,如果统计的值接近零,表示数据聚集在一起,离散程度很小,如果值很大,表示数据的离散度很大。

方法1: 极差 (range) 最大元素与最小元素的差

def data_range(x):
    return max(x) - min(x)

方法2: 方差 (variance)

def de_mean(x):
    x_bar = mean(x)
    return [x_i - x_bar for x_i in x]

def variance(x):
    n = len(x)
    deviations = de_mean(x)
    return sum_of_squares(deviations) / (n - 1)

方差的单位是“平方”, 我们更常使用标准差
方法3: 标准差 (standard deviation)

def standard_deviation(x):
    return math.sqrt(variance(x))

极差标准差都有可能受异常值影响

方法4: 计算75%的分位数和25%的分位数之差

def interquartile_range(x):
    return quantile(x, 0.75) - quantile(x, 0.25)
相关

验证用户在某一站上花费的时间与他的朋友数相关

研究流量日志,得出daily_minutes列表,每个用户每天花费多少时间,元素顺序与num_friends对应

daily_minutes =
[1,68.77,51.25,52.08,38.36,44.54,57.13,51.4,41.42,31.22,34.76,54.01,38.79,47.59
,
49.1,27.66,41.03,36.73,48.65,28.12,46.62,35.57,32.98,35,26.07,23.77,39.73,40.57
,
31.65,31.21,36.32,20.45,21.93,26.02,27.34,23.49,46.94,30.5,33.8,24.23,21.4,27.9
4,32.24,40.57,25.07,19.42,22.39,18.42,46.96,23.72,26.41,26.97,36.76,40.32,35.02
,
29.47,30.2,31,38.11,38.18,36.31,21.03,30.86,36.07,28.66,29.08,37.28,15.28,24.17
,
22.31,30.17,25.53,19.85,35.37,44.6,17.23,13.47,26.33,35.02,32.09,24.81,19.33,28
.
77,24.26,31.98,25.73,24.86,16.28,34.51,15.23,39.72,40.8,26.06,35.76,34.76,16.13
,
44.04,18.03,19.65,32.62,35.59,39.43,14.18,35.24,40.13,41.82,35.45,36.07,43.67,2
4.61,20.9,21.9,18.79,27.61,27.21,26.61,29.77,20.59,27.53,13.82,33.2,25,33.1,36.
65,18.63,14.87,22.2,36.81,25.53,24.62,26.25,18.21,28.08,19.42,29.79,32.8,35.99,
28.32,27.79,35.88,29.06,36.28,14.1,36.63,37.49,26.9,18.58,38.48,24.48,18.95,33.
55,14.24,29.04,32.51,25.63,22.22,19,32.73,15.16,13.9,27.2,32.01,29.27,33,13.74,
20.42,27.32,18.23,35.35,28.48,9.08,24.62,20.12,35.26,19.92,31.02,16.49,12.16,30
.
7,31.22,34.65,13.13,27.51,33.2,31.57,14.1,33.42,17.44,10.12,24.42,9.82,23.39,30
.93,15.03,21.67,31.09,33.29,22.61,26.89,23.48,8.38,27.81,32.35,23.84]

协方差 (convariance)
方差衡量了单个变量对均值的偏离程度,协方差衡量两个变量对均值的串联偏离程度。如果协
方差是个大的正数,表示y很大,x也很大,或者y很小,x也很小。协方差为负,并且绝对值很大,表示x和y一个很大,一个很小。协方差接近0表示关系不存在。

def covariance(x, y):
    n = len(x)
    return dot(de_mean(x), de_mean(y)) / (n - 1)

相关 (correlation)

协方差除以两个变量的标准差

def correlation(x, y):
    stdev_x = standard_deviation(x)
    stdev_y = standard_deviation(y)
    if stdev_x > 0 and stdev_y > 0:
        return covariance(x, y) / stdev_x / stdev_y
    else:
        return 0 

相关系数没有单位,取值在-1(完全反相关)和1(完全相关)之间。相关值0.25表示一个弱的正相关。

plt.scatter(num_friends, daily_minutes)
plt.show()

相关系数对异常值⾮常敏感,忽略100个朋友的那个用户

outlier = num_friends.index(100) # index of outlier
num_friends_good = [x for i, x in enumerate(num_friends)
 if i != outlier]
daily_minutes_good = [x for i, x in enumerate(daily_minutes)
 if i != outlier]
plt.scatter(num_friends_good, daily_minutes_good)
辛普森悖论

分析数据时可能发生的意外,如果忽略了混杂变量,相关系数会有误导性。

验证哪边好友关系多

海岸 成员数 平均朋友数
西海岸 101 8.2
东海岸 103 6.5

相关系数假设在条件都相同的前提下比较两个变量的关系,需要充分了解数据,核查所有可能的混杂因素。

海岸 学位 成员数 平均朋友数
西海岸 博士 35 3.1
东海岸 博士 70 3.2
西海岸 非博士 66 10.9
东海岸 非博士 33 13.4

相关和因果

如果x和y强相关,说明可能x引起了y,或者y引起了x, 或者互相引起,或者有第3三方因为同时引起x和y。可以将一组具有类似统计数据的用户随机分为两组,然后施加影响看变化。

相关文章

  • 数据科学 3 统计学

    描述单个数据集描述你部门成员有多少朋友?描述方式式1:直接显示所有的数据: 描述方式2: 直接绘图 描述方式3: ...

  • 数据科学

    数据科学(data science)的解释: 数据科学家 = 统计学家(建立模型和聚合数据) + 计算机科学家(设...

  • 统计学第一课

    1.统计学基本知识: 统计学:收集、处理、分析、解释数据并从中得出结论的科学。 2.二项及泊松分布 3.大数定理:...

  • Statistical Analysis of data

    一:统计学的定义 统计学英文名为statistics,它是收集、处理、分析、解释数据并从数据中得出结论的科学。 二...

  • [笔记]Python数据科学手册

    书目: Python数据科学手册计划时间: 一个月 前言 什么是数据科学 数据科学综合了三个领域的能力: 统计学家...

  • DS学习笔记(一):关于大数据的灾难和浪漫

    数据科学和统计学的区别 有人说,数据科学家就是住在湾区的统计学家。这当然是笑话,但表面上看起来两者都是从数据分析中...

  • 一文详解数据科学家的必备技能(附学习资源)

    数据科学家需要涉猎的知识面很广,包括:机器学习、计算机科学、统计学、数学、数据可视化、沟通和深度学习,那么数据科学...

  • 阿里数据专家谈:数据科学家必备技能包

    数据科学家需要涉猎的知识面很广,包括:机器学习、计算机科学、统计学、数学、数据可视化、沟通和深度学习,那么数据科学...

  • 统计学速通(1)导论

    一,统计学及其应用领域 1.统计学:是收集、处理(组织、概括、演示)、分析、解释数据并从数据中得出结论的科学。 收...

  • 数据科学:《Python数据科学导论》PDF中文+英文PDF+代

    数据科学是一门新兴的学科,数据科学的研究在各个领域受到越来越多的关注。 数据科学的理论基础包括统计学、机器...

网友评论

      本文标题:数据科学 3 统计学

      本文链接:https://www.haomeiwen.com/subject/vvltqqtx.html