如何看懂imshealth数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何看懂imshealth数据相关的知识,希望对你有一定的参考价值。

参考技术A 数据解读,不能是为了迎合谁,要遵循数据的本质,要遵循科学的逻辑,要有想象力(配合求证),可能有时候也需要依赖人脉关系所获得的情报,(这个也有很多典型范例),这个具体再怎么说可能我也说不清楚,说几个反面例子也许更容易理解。
1、因果关联错误,或忽略关键因素,A和B的数据高度相关,有人就片面认为A影响了B,或者B影响了A;但是,有时候真实原因是C同时影响了A和B,有时候C被忽略掉了。
2、忽略沉默的大多数,特别是网上投票,调查,极易产生这种偏差,参与者往往有一定的共同诉求,而未参与者往往才是主流用户。
3、数据定义错误,或理解歧义,在技术与市场、产品人员沟通中产生信息歧义,直接导致所处理的数据和所需求的数据有偏差,结果显著不正确。
4、强行匹配;不同公司,不同领域的数据定义可能不一致,在同一个公司内或领域内做对比,往往没有问题,大家对此都很习惯,却有评论家不懂装懂,强行将不同定义的数据放在一起对比做结论,显著失真;海外著名金融机构在分析中国页游和端游市场就连续犯这类错误。
5、忽略前提;有些数据结论是基于某种前提,符合某种特定场景下得出的,但是解读者有意或无意忽略前提,将结论扩大化,显著误读。
6、忽略交互;在商业模式改造和产品改进,往往都会出这类问题,最简单说,你游戏中的道具降价,对收入的影响是增还是减?如果忽略交互,仅仅依赖于数据推算,当然是减,但是实际呢?做运营的都知道。
7、缺乏常识;如果对一些重要的纪念日,节日,或者网购节不了解,那去处理有关数据显然就不知所云了。做行业报告更是如此,很难想像对行业不了解的人能做出怎样的报告。
8、无视样本偏差;我们通常做数据调研,是基于样本数据,而采样过程本身很难做到完全的公平和分散,样本偏差要控制在合理范畴内,即便无法控制,在结论中也需要标注;这才是严谨的数据解读,对样本偏差视而不见,甚至为了某种宣传目的刻意寻找偏差的样本,都不可能做出好的数据结论。
那么, 数据处理也多说一点,虽说是个技术活,但是有些不那么技术的事情,也必须做到位才行;很多时候,我看到一个数据,不符合我的预期,我第一反应,是了解数据来源和处理逻辑,我们通常面对的数据,包括大量的干扰,噪音数据,以及一些识别上容易产生歧义甚至误判的数据,这都是需要处理的,很多时候工程师只关心算法层面、效率层面,不愿意也不关心这些东西,所得出的数据结论失真度就非常高,越是大公司,这种情况越普遍;在我效力的巨头公司时,这样的范例非常多,处理方法其实很简单,多看看源数据,对中间的噪音和干扰数据正确识别标注,对容易误判的数据进行二次判定,全是苦力活,没啥技术含量,但是这是必须的。
最后,很多人想知道我怎么看数据,或者想问我,他们每天看很多数据,不知道怎么去看,我其实有很简单的三板斧,一学就会,一用就灵,对常见的数据场景,可解决绝大部分日常需求。 简单说就是“对比,细分,溯源” 六字真言,没了。
对比,数据放在那里,是没意义的,你说你游戏周流失率80%,啥情况?不知道,你问我我也不知道。对比起来才知道。
一是横比,你拿出50款游戏来比,别人平均流失率90%,你80%,你游戏还不错勒,别人要平均流失65%,你80%,这就有问题了。
二是纵比,和自己时间轴比,你两个月前1.0版本流失率90%,你现在80%,有进步么,你要是两个月前是50%,现在80%,好好反思喽。
所以,我特别强调,在通常企业数据监控,显示一大屏数据的界面上,对比特征要最大体现,比如所有同比下降超过多少比例的一概红色体现,所有上升多少比例的一概绿色体现,公司运营状况一目了然。
细分,数据出现对比异常,你当然想知道原因,那就需要细分了。
细分先分纬度,再分粒度,什么是纬度?你按照时间去分,就是时间纬度,按照地区去分,就是地区纬度,按照来路去分,就是来路纬度,按照受访去分,就是受访纬度;你说今天网站访问量涨了5%,咋回事不知道,你细分一看,大部分网页都没涨,某个频道某个活动页涨了300%,这就清楚了,这就是细分最简单的范例,其实很多领域都通用。 粒度是什么,你时间纬度,是按照天,还是按照小时?这就是粒度差异,你来路纬度,是来路的网站,还是来路的url,这就是粒度的差异;这样可以将对比的差异值逐级锁定,寻找原因。
溯源,有时候我对比,细分锁定到具体纬度,具体粒度了,依然没有结论,怎么办,溯源,依据锁定的这个纬度和粒度作为搜索条件,查询所涉及的源日志,源记录,然后基于此分析和反思用户的行为,往往会有惊人的发现,我们正是基于这一逻辑发现过产品的一些缺陷,而且你不断通过这个方式分析数据,对用户行为的理解也会逐步加深。
其实,这个话题还有很多延伸,比如,如何看一个年轻人有没有数据分析潜质;以及如何培养数据分析和产品分析人才,等等,不过,就这样吧。本回答被提问者和网友采纳

零基础如何学Python:一文看懂数字与字符串

零基础如何学Python:一文看懂数字与字符串

 
数据类型是构成编程语言语法的基础。不同的编程语言有不同的数据类型,但都具有常用的几种数据类型。Python有几种内置的数据类型——数字、字符串、元组、列表和字典。本文将重点介绍数字和字符串。
技术图片技术图片
01 数字
Python3的数字类型分为整型、浮点型、布尔型、分数类型、复数类型。使用Python编写程序时,不需要声明变量的类型。由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及类型转换等操作。
Python与其他高级语言定义变量的方式及内部原理有很大的不同。在C或Java中,定义一个整型的变量,可以采用如下方式表示:
int i = 1;
在Python中,定义整型变量的表达方式更简练。
i = 1
Python根据变量的值自动判断变量的类型,程序员不需要关心变量究竟是什么类型,只要知道创建的变量中存放了一个数,以后的工作只是对这个数值进行操作,Python会对这个数的生命周期负责。
更重要的一点是,C或Java只是创建了一个int型的普通变量;而Python创建的是一个整型对象,并且Python自动完成了整型对象的创建工作,不再需要通过构造函数创建。Python内部没有普通类型,任何类型都是对象。如果C或Java需要修改变量i的值,只要重新赋值即可;而Python并不能修改对象i的值。例如:
1#下面的两个i并不是同一个对象? 2i = 1? 3print(id(i))? 4i = 2? 5print (id(i))
如果需要查看变量的类型,可以使用Python定义的type类。type是__builtin__模块的一个类,该类能返回变量的类型或创建一个新的类型。__builtin__模块是Python的内联模块,内联模块不需要import语句,由Python解释器自动导入。后面还会接触到更多内联模块的类和函数。
下面这段代码返回了各种变量的类型。
1#整型? 2i = 1? 3print( type(i))? 4#长整型? 5l = 999999999999999999990 # Python何时将int转为float跟操作系统位数相关? 6print type(l)? 7#浮点型? 8f = 1.2? 9 print( type(f))? 10#布尔型? 11b = True? 12print (type(b))
【代码说明】
  • 第3行代码输出结果:<class‘int‘>
  • 第6行代码输出结果:<class‘int‘>
  • 第9行代码输出结果:<class‘float‘>
  • 第12行代码输出结果:<class‘bool‘>
用Python来进行科学计算也很方便,因为Python内置了复数类型。Java、C#等高级语言则没有提供复数类型。
1#复数类型? 2c = 7 + 8j? 3print (type(c))
第3行代码输出结果:<class‘complex‘>
注意:复数类型的写法与数学中的写法相同,如果写为c=7+8i,Python不能识别其中的“i”,将提示语法错误。
02 字符串
在Python中有3种表示字符串的方式——单引号、双引号、三引号。单引号和双引号的作用是一样的,对于不同的程序员可以根据自己的习惯使用单引号或双引号。PHP程序员可能更习惯使用单引号表示字符串,C、Java程序员则习惯使用双引号表示字符串。下面这段代码中单引号和双引号的使用是等价的。
1# 单引号和双引号的使用是等价的? 2str = "hello world!" # 定义字符串变量str并赋值? 3print (str)? 4str = ‘hello world!‘? 5print (str)
【代码说明】
第3行代码输出结果:
hello world!
第5行代码输出结果:
hello world!
三引号的用法是Python特别的语法,三引号中可以输入单引号、双引号或换行等字符。
1# 三引号的用法? 2str = ‘‘‘he say "hello world!"‘‘‘? 3print( str)
【代码说明】
第3行代码的三引号中带有双引号,双引号也会被输出。输出结果:
he say "hello world!"
三引号的另一种用法是制作文档字符串。Python的每个对象都有一个属性__doc__,这个属性用于描述该对象的作用。
1# 三引号制作doc文档? 2class Hello:? 3‘‘‘hello class‘‘‘? 4def printHello():? 5‘‘‘print hello world‘‘‘? 6print ("hello world!")? 7print( Hello.__doc__)? 8print (Hello.printHello.__doc__)
【代码说明】
  • 第2行代码定义了一个名为Hello的类。
  • 第3行是对Hello类的描述,该字符串将被存放在类的__doc__属性中。
  • 第4行代码定义了一个方法printHello()。
  • 第5行代码描述了printHello(),并把字符串存放在该函数的__doc__属性中。
  • 第6行代码输出结果:
hello world!
  • 第7行代码输出Hello的__doc__属性的内容。输出结果:
hello class
  • 第8行代码输出printHello()的__doc__属性的内容。输出结果:
print hello world
如果要输出含有特殊字符(单引号、双引号等)的字符串,需要使用转义字符。Python中转义字符为“”,和C、Java中的转义字符相同。转义操作只要在特殊字符的前面加上“”即可。下面这段代码说明了特殊字符的转义用法。
1# 转义字符? 2str = ‘he say:‘hello world!‘‘? 3print (str)
【代码说明】
第2行代码中的单引号是特殊字符,需要在“‘”前加上转义字符。第3行代码的输出结果:
he say:‘hello world!‘
使用双引号或三引号可以直接输出含有特殊字符的字符串,不需要使用转义字符。
1# 直接输出特殊字符? 2str = "he say:‘hello world!‘"? 3print (str)? 4str = ‘‘‘he say:‘hello world!‘ ‘‘‘? 5print (str)
【代码说明】
  • 第2行代码中使用了双引号表示字符串变量str,因此Python能够识别出双引号内部的单引号只是作为输出的字符。
  • 第3行代码的输出结果:
he say:‘hello world!‘
  • 第4行代码使用三引号表示字符串变量str,注意最后一个单引号后面留有一个空格,这个空格是为了让Python识别出三引号留下的。如果不留下这个空格,4个单引号连在一起,Python解释器不能正确识别三引号。提示如下错误:
SyntaxError: EOL while scanning single-quoted string
  • 第5行代码的输出结果:
he say:‘hello world!‘
注意:输出的字符串中含有单引号,使用双引号表示字符串即可。相反,输出的字符串中含有双引号时,可使用单引号表示字符串。
关于作者:黄传禄,高级讲师、管理软件开发工程师、数据库库系统工程师、信息系统管理工程师。有10多年的一线教学经验和高端培训经验,出版多部技术专著,获得多个软件著作权。
本文摘编自《零基础学Python》(第2版),经出版方授权发布。
技术图片
延伸阅读《零基础学Python》(第2版)
推荐语:为了能够使广大读者既能够掌握Python语言的基础知识,又能够将Python语言应用于某个特定的领域(如Web开发),本书介绍了与Python相关的方方面面,每个章节都提供了详尽的例子,结合实例讲解各个知识点。涉及的程序代码都给出了详细的注释,有助于读者轻松领会程序开发的精髓,快速提高开发技能

以上是关于如何看懂imshealth数据的主要内容,如果未能解决你的问题,请参考以下文章

一文看懂大数据量表如何优化

如何看懂总结

零基础如何学Python:一文看懂数字与字符串

一文看懂Pinterest如何构建时间序列数据库系统Goku

一图看懂如何使用kibana

如何看懂spss两独立样本非参数检验