python 股票大数据

2018-03-14 20:56:25 zhusongziye 阅读数 1374

简介

在本次笔记中主要汇总Python关于大数据处理的一些基础性工具,个人掌握这些工具是从事大数据处理和大数据测必备技能

主要工具有以下(包括但不限于):

  • numpy

  • pandas

  • SciPy

  • Scikit-Learn

  • Spark

  • Matplotlib

对于上述工具,笔者之前已经从安装部署、学习其官方示例等等均已经初步做了一些学习,但在实战方面有待进一步提升,有兴趣的朋友可以加入和我一起学习提升。


numpy

NumPy系统是Python的一种开源的数值计算扩展。可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)).

包括:

  1. 一个强大的N维数组对象Array

  2. 比较成熟的(广播)函数库

  3. 用于整合C/C++和Fortran代码的工具包

  4. 实用的线性代数、傅里叶变换和随机数生成函数。

numpy和稀疏矩阵运算包scipy配合使用更加方便。

笔者注:numpy是基础数值计算的库,更是必须掌握的,便于我们深入理解原理,为后续学习其他库打下扎实的基础。


pandas

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

主要数据结构有:

  1. Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。

  2. Time- Series:以时间为索引的Series。

  3. DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。

  4. Panel :三维的数组,可以理解为DataFrame的容器。

笔者注:pandas相对于numpy易用性更友好,有一定编码经验的前提下基本上对官方文档的十分钟入门教程进行初步学习即可开始使用干活了。


Scipy

SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等.

scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。


Scikit-learn

Scikit-learn是Python机器学习开源库,基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。

  • 分类
    是指识别给定对象的所属类别,属于监督学习的范畴,最常见的应用场景包括垃圾邮件检测和图像识别等。目前Scikit-learn已经实现的算法包括:支持向量机(SVM),最近邻,逻辑回归,随机森林,决策树以及多层感知器(MLP)神经网络等等。

注:Scikit-learn本身不支持深度学习,也不支持GPU加速,因此对于MLP的实现并不适合于处理大规模问题。有相关需求的朋友可以查看对Python有良好支持的Keras和Theano等框架。

  • 回归
    是指预测与给定对象相关联的连续值属性,最常见的应用场景包括预测药物反应和预测股票价格等。目前Scikit-learn已经实现的算法包括:支持向量回归(SVR),脊回归,Lasso回归,弹性网络(Elastic Net),最小角回归(LARS ),贝叶斯回归,以及各种不同的鲁棒回归算法等。可以看到,这里实现的回归算法几乎涵盖了所有开发者的需求范围,而且更重要的是,Scikit-learn还针对每种算法都提供了简单明了的用例参考。

  • 聚类
    是指自动识别具有相似属性的给定对象,并将其分组为集合,属于无监督学习的范畴,最常见的应用场景包括顾客细分和试验结果分组。目前Scikit-learn已经实现的算法包括:K-均值聚类,谱聚类,均值偏移,分层聚类,DBSCAN聚类等。

  • 数据降维
    是指使用主成分分析(PCA)、非负矩阵分解(NMF)或特征选择等降维技术来减少要考虑的随机变量的个数,其主要应用场景包括可视化处理和效率提升。

  • 模型选择
    是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精度。目前Scikit-learn实现的模块包括:格点搜索,交叉验证和各种针对预测误差评估的度量函数。

  • 数据预处理
    是指数据的特征提取和归一化,是机器学习过程中的第一个也是最重要的一个环节。这里归一化是指将输入数据转换为具有零均值和单位权方差的新变量,但因为大多数时候都做不到精确等于零,因此会设置一个可接受的范围,一般都要求落在0-1之间。而特征提取是指将文本或图像数据转换为可用于机器学习的数字变量。

需要特别注意的是,这里的特征提取与上文在数据降维中提到的特征选择非常不同。特征选择是指通过去除不变、协变或其他统计上不重要的特征量来改进机器学习的一种方法。

总结,Scikit-learn实现了一整套用于数据降维,模型选择,特征提取和归一化的完整算法/模块,虽然缺少按步骤操作的参考教程,但Scikit-learn针对每个算法和模块都提供了丰富的参考样例和详细的说明文档。


Spark

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark提供了Scala和Python版本,因Scala的学习曲线相对漫长,笔者建议软件测试人员学习Python版本即可。


Matplotlib

Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图

  • 直方图

  • 功率谱

  • 条形图

  • 错误图

  • 散点图

  • 等等。


总结

大数据处理及测试,必然需要掌握基础技术,不仅仅需要去了解,更需要去掌握技术并具备实际的项目能力,将技术、测试、业务融会贯通。

2020-06-10 16:55:09 Wilburzzz 阅读数 84

前言:

重新复习了下之前写的代码,发现从tushare下载的数据有些是NaN值,自己研究了下这些NaN值的股票,都是些要么退市要么面临退市的风险问题股,之前在我写的文章代码里,生成的docx文档里含有0不明类别的分析报告,这些0的分类其实都是些问题股,于是先加句代码完善下当前的分析报告,注意:此次的代码有点不同上次的代码,主要是对前面写的三篇文章的代码总合,完成了在下载的同时同时生成docx分析报告,所以在运行的时候请自己修改下载的路径跟解析的路径,完善后的完整代码如下:

import os
import docx
import time
import warnings
import pandas as pd
import tushare as ts
from docx.shared import Cm, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
warnings.filterwarnings('ignore')

#pd.set_option()就是pycharm输出控制显示的设置
pd.set_option('expand_frame_repr', False)#True就是可以换行显示。设置成False的时候不允许换行
pd.set_option('display.max_columns', None)# 显示所有列
#pd.set_option('display.max_rows', None)# 显示所有行
pd.set_option('colheader_justify', 'centre')# 显示居中
#os.chdir()用于改变当前工作目录到指定的路径
#此路径必须改为放数据的路径且中间的不能缺失任何一天数据,例如get_analysis_stockdata('20200101', '20200106'),
#那么你放数据文件夹内不能缺少任何一个这段时期内的交易数据文件,否则报错
os.chdir('D:/stock_data/')  #保存的绝对路径,需要自己修改跟创建,就是切换默认的工作目录到你设置的路径
pro = ts.pro_api('要到tushare官网注册个账户然后将token复制到这里,可以的话请帮个忙用文章末我分享的链接注册,谢谢')

#df_basic = pro.stock_basic() 获取基础信息数据,包括股票代码、名称、上市日期、退市日期等
#df_daily = pro.daily()  获取所有股票日行情信息,或通过通用行情接口获取数据,包含了前后复权数据,停牌期间不提供数据
#df_daily_basic = pro.daily_basic()获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等。

def get_all_stockdata(st_date, ed_date):
    trade_d = pro.trade_cal(exchange='SSE', is_open='1',start_date=st_date,end_date=ed_date,fields='cal_date')
    for date in trade_d['cal_date'].values:
        # 再获取所有股票的基本信息
        df_basic = pro.stock_basic(exchange='', list_status='L')

        # 先获得所有股票的行情数据
        df_daily = pro.daily(trade_date=date)

        #获取每日指标
        df_daily_basic = pro.daily_basic(ts_code='', trade_date=date,fields='ts_code, turnover_rate, turnover_rate_f,'
                                                                            ' volume_ratio, pe, pe_ttm, pb, ps, ps_ttm,'
                                                                            ' dv_ratio, dv_ttm, total_share, float_share,'
                                                                            ' free_share, total_mv, circ_mv ')
        #基本数据跟行情数据合并,再跟每日指标数据合并生成一个csv数据文件
        #on='ts_code'以ts_code为索引,合并数据,how='outer',取并集
        df_first = pd.merge(left=df_basic, right=df_daily, on='ts_code', how='outer')
        df_all = pd.merge(left=df_first, right=df_daily_basic, on='ts_code', how='outer')
        #数据清洗,删除symbol列数据,跟ts_code数据重复
        df_all = df_all.drop('symbol', axis=1)
        #在'name', 'area', 'industry', 'market'列内循环填充NaNfor w in ['name', 'area', 'industry', 'market']:
            df_all[w].fillna('问题股', inplace=True)
        #强制转换成str字符串格式
        df_all['ts_code'] = df_all['ts_code'].astype(str)

        # 保存数据,不保存索引,如果index=True,则保存索引会多出一列
        df_all.to_csv(str(date) + '_ts.csv', index=False, encoding='gbk')
        print(df_all)
        print('%s is downloaded.' % (str(date)))
    return df_all

#分析数据并生成docx文档,存储至本地DD:/stock_analysis/
def get_analysis_stockdata(st_date, ed_date):
    #获取st_date,ed_date时间段内的交易日期
    trade_d = pro.trade_cal(exchange='SSE', is_open='1',start_date=st_date,end_date=ed_date,fields='cal_date')
    for date_now in trade_d['cal_date'].values: #将以上获取时间段的交易日期赋值给date_now
        # 读取时间段内每日的股票数据
        df = pd.read_csv('{}_ts.csv'.format(str(date_now)), encoding='gbk')
        #fillna填充缺失数据,传入inplace=True直接修改原对象
        df.fillna(0, inplace=True)

        #astype强制将涨幅,PE,总市值,流通市值转换成float格式,ts_code转化成str后,NAN也变成nan str格式
        df[['change', 'pe', 'total_mv', 'circ_mv']] = df[['change', 'pe', 'total_mv', 'circ_mv']].astype(float)
        df['list_date'] = pd.to_datetime(df['list_date'])
        df['ts_code'] = df['ts_code'].astype(str)

        # 添加交易所列
        df.loc[df['ts_code'].str.startswith('3'), 'exchange'] = 'CY'
        df.loc[df['ts_code'].str.startswith('6'), 'exchange'] = 'SH'
        df.loc[df['ts_code'].str.startswith('0'), 'exchange'] = 'SZ'

        # 找出上涨的股票
        df_up = df[df['change'] > 0.00]
        # 走平股数
        df_even = df[df['change'] == 0.00]
        # 找出下跌的股票
        df_down = df[df['change'] < 0.00]

        # 找出涨停的股票
        limit_up = df[df['change'] >= 9.70]
        limit_down = df[df['change'] <= -9.70]

        # 涨停股数中的未封板股,上市日期小于15天
        limit_up_new = limit_up[pd.to_datetime(date_now) - limit_up['list_date'] <= pd.Timedelta(15)]
        # 涨停股数中次新股,上市日期小于1年
        limit_up_fresh = limit_up[pd.to_datetime(date_now) - limit_up['list_date'] <= pd.Timedelta(365)]

        # 涨停股数中的未封板股,上市日期小于15天
        limit_down_new = limit_down[pd.to_datetime(date_now) - limit_down['list_date'] <= pd.Timedelta(15)]
        # 涨停股数中次新股,上市日期小于1年
        limit_down_fresh = limit_down[pd.to_datetime(date_now) - limit_down['list_date'] <= pd.Timedelta(365)]
        #df_up.shape[0]获取上涨的行数
        print('A股上涨个数: %d, A股下跌个数: %d, A股走平个数: %d。' % (df_up.shape[0], df_down.shape[0], df_even.shape[0]))
        print('A股总成交额:%d, 总成交量:%d' % (df['amount'].sum(), df['vol'].sum()))
        print('A股平均市盈率:%.2f, 平均流通市值 %.2f 亿, 平均总市值 %.2f 亿' % (df['pe'].mean(), df['circ_mv'].mean(), df['total_mv'].mean()))
        print('涨停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_up.shape[0], limit_up_new.shape[0], limit_up_fresh.shape[0]))
        print('跌停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_down.shape[0], limit_down_new.shape[0], limit_down_fresh.shape[0]))

        def get_output(df, columns='_industry', name='_limit_up'):
            # df.copy(deep= False)和df.copy()都是浅拷贝,是复制了旧对象的内容,然后重新生成一个新对象,改变旧对象不会影响新对象。
            df = df.copy()
            output = pd.DataFrame()

            #df.groupby(columns)根据列值分组数据,并根据股票代码统计数据
            output = pd.DataFrame(df.groupby(columns)['ts_code'].count())

            output['pe_mean'] = round(df.groupby(columns)['pe'].mean(),2)

            output['nmc_mean'] = round(df.groupby(columns)['circ_mv'].mean(),2)

            output['mktcap_mean'] = round(df.groupby(columns)['total_mv'].mean(),2)

            output['volume_mean'] = round(df.groupby(columns)['vol'].mean(),2)

            output['amount_mean'] = round(df.groupby(columns)['amount'].mean(),2)
            #依据ts_code进行降序,排序后的数据集替换原来的数据
            output.sort_values('ts_code', ascending=False, inplace=True)
            #改列值名字,将ts_code改成name+‘_count’的形式
            output.rename(columns={'ts_code': name + '_count'}, inplace=True)
            return output

        file = docx.Document()
        file.add_paragraph('A股上涨个数: %d, A股下跌个数: %d, A股走平个数: %d。' % (df_up.shape[0], df_down.shape[0], df_even.shape[0]))
        file.add_paragraph('A股总成交额:%d, 总成交量:%d' % (df['amount'].sum(), df['vol'].sum()))
        file.add_paragraph('A股平均市盈率:%.2f, 平均流通市值 %.2f 亿, 平均总市值 %.2f 亿' % (df['pe'].mean(), df['circ_mv'].mean(), df['total_mv'].mean()))
        file.add_paragraph('涨停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_up.shape[0], limit_up_new.shape[0], limit_up_fresh.shape[0]))
        file.add_paragraph('跌停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_down.shape[0], limit_down_new.shape[0], limit_down_fresh.shape[0]))
        file.add_paragraph('\n')
        for i in ['industry', 'exchange', 'area']:
            # 对涨停的股票分析
            output_limit_up = get_output(limit_up, columns=i, name='limit_up').reset_index()
            # 对跌停的股票分析
            output_limit_down = get_output(limit_down, columns=i, name='limit_down').reset_index()
            # 对全量的股票分析
            output_total = get_output(df, columns=i, name='total').reset_index()
            file.add_paragraph('类别:%s' % (i))

            print(output_limit_up)
            print(output_limit_down)
            print(output_total)
            for j in [output_limit_up, output_limit_down, output_total]:
                tb = file.add_table(rows=len(j.index)+1, cols=len(j.columns),style='Medium Grid 3 Accent 1')
                tb.autofit = False  #关闭表格行宽自适应
                for x in range(len(j.columns)):
                    tb.cell(0, x).text = j.columns[x]  #添加表列头
                    tb.cell(0, x).width = Inches(1.2)  #设置行宽
                    tb.cell(0, x).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER  #文字居中
                for row in range(len(j.index)):
                    for col in range(len(j.columns)):
                        tb.cell(row+1, col).text = str(j.iloc[row, col]) #设置行宽
                        tb.cell(row+1, col).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER #文字居中
                file.add_paragraph('\n')    #表格换行
        #之所以生成文件慢是因为output_total这个统计需要长时间写入docx,如果需要速度快你可以试着把output_total去掉
        #生成一个docx文件我的电脑需要34分钟左右
        file.save('D:\\stock_analysis\\{}_分析报告.docx'.format(str(date_now)))
        print('{}_分析报告分析完成'.format(str(date_now)))
if __name__=="__main__":
    get_all_stockdata('20200101', '20200103')
    get_analysis_stockdata('20200101', '20200102')


在这里插入图片描述在这里插入图片描述在这里插入图片描述
tushare注册链接:link

2019-10-16 14:41:42 sxeric 阅读数 411

    我的新书,《基于股票大数据分析的Python入门实战》,预计将于2019年底在清华出版社出版。     

    如果大家对大数据分析有兴趣,又想学习Python,这本书是一本不错的选择。从知识体系上来看,这本书的内容涵盖了开发Python企业级项目所需的知识点,包括但不限于Python基础语法知识、基于Pandas的大数据分析技术、基于Matplotlib的可视化编程技术、Python爬虫技术和基于Django的网络编程技术,甚至还在本书的最后,讲述了机器学习编程技术。

    这本书的大多数范例程序是基于股票分析的技术指标,部分结合了“机器学习”和“爬虫”以及“数据分析”的使用。比如,根据股票代码来爬取股票交易数据的范例程序来讲述爬虫技术和正则表达式,通过K线均线和成交量图的范例程序来讲述Matplotlib知识点,结合股票技术指标BIAS和OBV的范例程序来讲述Django框架,用股票走势预测的范例程序讲述机器学习。在用股票分析的范例程序讲述知识点的同时,还会给出验证特定指标交易策略的范例程序源代码。

    在本人之前的博客里,已经给出了这本书的章节供大家试读:以股票RSI指标为例,学习Python发送邮件功能。如下还给出了若干运行效果图,从中大家能感受到本书案例的生动性。以如此生动的案例学习Python,不愁没学习兴趣,也不愁学不会。

 

 

  

    相信用这些饶有兴趣的范例程序来学习Python,不但可以激发读者学习的兴趣,也不会担心在学习过程中半途而废。而且,本书的范例程序大多篇幅适中,对于想将它们作为课程设计或大学毕业设计的参考也是非常适合的。

    如果大家对股票交易知之甚少,也不用担心无法看懂本书提供的股票分析范例程序,这是因为:

    第一,本书以通俗易懂的文字讲述相关股票指标的含义和算法;

    第二,在给出待验证的股票交易策略时,所用到的数学方法仅限于加减乘除;

    第三,在用股票预测范例程序讲述机器学习时,用到最复杂的数学公式是用二次函数计算方差,只是初中数学的知识。

    而且,如果大家对股票不甚了解,更能通过这本书,在学习Python相关知识的同时,还能对股票技术指标乃至基于股票指标的交易策略有一定的理解。也就是说,通过本书,不仅能学好Python,更能掌握股票相关的技能,所谓一举两得。

    下面是这本书的内容介绍。

    本书分为三大部分:基础篇,组件分析篇,高级技术篇。

    第1章到第4章为基础篇。第1章讲述了搭建Python开发环境的步骤,并通过范例程序讲述了Python基本语法和调试代码的技巧;第2章讲述了Python数据结构的相关知识点;第3章讲述基于Python语言的面向对象程序设计思想的实践与技巧;第4章讲述了Python处理异常的机制,并在读写文件的范例程序中,进一步演示了处理异常的技巧。

    第4章到第10章为基于股票范例程序的“组件分析篇”,其中第5章在讲述股票知识的基础上讲述了通过爬虫获取数据的技巧;第6章以绘制K线图为范例,讲述了Matplotlib可视化组件的开发技巧;第7章以股票均线和成交量为范例,讲述了基于NumPy和Pandas库进行大数据分析的技巧;第8章用MACD范例程序讲述了Python数据库编程的相关技巧;第9章以KDJ指标为范例,讲述了基于GUI界面编程的相关技巧;第10章用RSI指标范例讲述了Python邮件编程的相关技巧。

   本书的第11章到第13章为“高级技术篇”,其中第11章以BIAS范例讲述了Django框架的基础知识;第12章以OBV范例讲述了在Django里导入日志和数据库组件的技巧;第13章以股票分析范例讲述了基于线性回归和SVM(支持向量机)的机器学习入门知识。

   从中,技术层面大家能看到数据分析,爬虫,Numpy,Pandas,Matplotlib,Django,数据库操作乃至线性回归,机器学习等热点,股票层面,大家能看到K线图,均线,成交量,KDJ,MACD, RRSI,OBV,BIAS,面向机器学习的股票价格预测,验证成交策略等吸引眼球的词汇。而且两者是有机结合在一起的,是通过股票案例,讲述Python技能。

    本书对大家有什么帮助呢?

    1 当然是帮大家入门Python,其实大家在看完本书后,何止能入门?更能掌握爬虫、数据分析和数据可视化等项目里常用的技能点。掌握后,大家能立马在公司里上手干活。

    2 大家在掌握股票知识后,至少能更理性地观察股市,虽然本书没有讲股票量化的知识,但大家看完本书后一定能感受到“入市须谨慎”这句话的分量,至少不会拍脑袋买卖股票了。所谓技多不压身,多了解股票相关的知识,总没坏处。

    3 在本书的机器学习章节了,给出了预测股票的相关案例和叙述性文字,这个章节20多页,绝对能够得上课程设计甚至毕业设计的水准,这对在校的同学很有帮助,此外,本书的其它章节,比如Django等相关章节,论技术含量也绝对能抵得上一篇毕业设计或课程设计的论文。

    这里仅仅是预告,后继还有更多的内容分享和各种活动,敬请期待。    

 

2018-01-17 00:00:00 sfM06sqVW55DFt1 阅读数 5889
2020-03-22 17:00:42 a5305601 阅读数 389

此篇文章主要跟大家介绍一下大数据在医疗行业内的应用与和落地,给我们的日常生活带和医疗行业带来什么样的变化、适合初入者了解大数据在行业内的应用落地,增加大数据从业人员的业务能力

主要内容为大数据在医疗行业中应用价值、医疗大数据平台、医疗大数据的应用

本篇文中所选用的图片、PPT摘选自北京理工大学计算机学院的孙新老师的智能医疗大数据课件,感谢孙老师

一、大数据在医疗行业中的应用价值

大数据能是什么?(请见上一边文章)

大数据主要应用于我们传统数据库解决不了的数据收集、存储、统计、分析等工作。我们要了解一个行业的状态,肯定是从它的一些数据来做分析和比较,来判断出当前该行业的状态是什么样的情况,例如我们要买一只股票,肯定回去查看该股票最近一段时间内的交易走势图、持有该股票的公司一些经营情况,该公司控股人的一些征信、经济、人品等信息。只有了解了这些东西,我们自己才清楚是否可以购买该股票。那怎么去获取这些信息呐,那就要用到大数据里面的数据采集的功能了。

每个行业都有自己的特殊性,我们要了解行业的特殊性的时候,肯定要学会去寻找此行业的主要矛盾是什么?医疗行业就是人与医生的关系,有人可能会说,医疗设备不算吗?其实,我们平常去看病的时候都会去找知道这个病的专家去看,虽然有可能这个医院没有检查此病的医疗设备,但是也会发现很多人,去检查医院检查完后,又把病例拿到专家的手中,这就决定了病人与医疗设备只是次要矛盾,与看病的医生才是主要矛盾。

那说了这么多,大数据在医疗行业中有什么价值呐。

其实我们可以发现,做医疗大数据的企业里面是医院吗?不是,是互联网公司,做什么,主要就是建立病人与医生,医生与医生只见的关系渠道,消除看病的地域性,提高人民的医护意识,掌握病人的动态、预防大规模的传染病的发生,集中医生资源共同解决医疗问题。所以这里的公司对接的不只是一家医院或者一个医生,是面向全社会所提供的的服务。所以统计这块又分为宏观和微观两部分,就是统计的维度不一样而已。

从宏观上看,我们需要去做的是了解我国甚至全世界目前面临的医疗困境,例如我国的人口老龄化、慢性发病率等的统计,查看到老龄化分布的地域与地区。这样的话我们就可以针对性的提供老龄化的医疗服务,保障老年人的健康问题。

而保障这些老年人的医疗健康则需要大量的医生与医护人员,那么如何保障医护人员的配比那,医护人员基本上都需要考职业资格证,所以我们就得统计全国范围内每年有多少医护人员获得证书,才可以保障道我们老年人的医疗健康,这就是供需关系

同时我们可以收集到医疗行业内的一切其他信息,例如医疗资源的配比与医保的透支情况等

这些数据都能帮助到我们更多的了解到我们国家目前医疗的一个状况。

大数据技术的应用,将从体系搭建、机构运作、临床研发、诊断治疗、生活方式等多个方面带来变革性的改善。大数据助力我国医疗生态全面升级,

1、通过区域信息化、在线问诊、远程医疗等技术连接上下级医院机构,实现医疗 资源优化配置,电子病历共享等措施,最终提升医药供给效率和能力。

2、通过商业智能,优化供应链及患者管理,提升医院、诊所、药店等传统医疗机 构的管理效率,提升就医体验。

3、通过基因测序、影像识别等技术挖掘更多维度的数据,缩短临床验证周期,提升新药研发效率。

4、通过认知计算、机器学习等技术,实现精准治疗,辅助提升医生诊断治疗效率,提高医疗服务质量。

5、通过可穿戴设备、在线问诊、远程医疗、人工智能等技术间的相互配合,为用 户提供健康管理、疾病预测、提供有效的干预方案,降低医疗费用支出。

二、医疗大数据平台

医疗大数据是指所有与医疗卫生和生命健康活动相关的数据集合,既包括个人从出生到死亡的全生命周期过程中,因免疫、体检、治疗、运动、饮食等健康相关活动所产生的大数据,又涉及医疗服务、疾病防控、健康保障和食品安全、养生保健等多方面数据的聚合

构建健康医疗大数据平台。平台通过数据开放服务与数据共享服务,分别向医疗机构、社会公众、政府、企事业单位和患者提供数据服务。

前面都介绍过大数据主要做的就是数据收集、存储、统计、分析等操作,医疗大数据也不例外

1、数据采集

医疗行业的数据采集跟我们普通互联网行业不太一样,在采集数据的时候遇到以下问题

  • 数据分散在多个系统,不同的数据库,结构和数据格式也各不相同
  • 部分乡镇或社区医疗机构无信息化系统,数据采集无法进行
  • 部分基层医疗机构HIS等系统厂家复杂,很多已无后续技术支持,难以获取相关医疗数据
  • 大型医院仅提供简单的数据接口,无法获得深度的医疗数据
  • 部分医疗数据如影像、基因测序数据文件巨大
  • 部分医疗数据对实时性要求较高。

所以在初步去采集医疗数据的时候的这个过程很复杂,耗时也是比较长久。

2、数据存储

因为数据多样化的额问题,一会把数据进行处理和清洗转化成我们想要的数据样式,我们存储的一般都是使用hadoop做存储,文件格式、结构化信息和非结构化信息都可以进行处理。

3、数据统计、分析

在数据被存储后,我们会对数据进行加工,做处理,得出我们想要的样式后,根据一些统计算法或者需求去做业务统计,把统计好的数据做成表格或图形化结构,以一种更直观理解的方式展示给其他人

三、医疗大数据的应用

我们收集数据的主要是为了应用,落地,那么医疗大数据收集起来怎么应用呐,

1、医疗辅助诊断

2、药物指引

3、诊疗监管

大数据在医疗行业中的应用不止这些,只是举了几个简单的例子,平常我们都会用过

四、总结

再次感谢孙老师的课件PPT,本来想上周写呐,可是后来一直加班,导致一直在拖,不过只要有时间,一定会完成答应你们的东西的,初识大数据系列没什么技术,都只是概念,让大家知道大数据其实离我们并不遥远,我们即时数据的提供者也是数据服务的享用者,下次给大家介绍一下大数据在旅游业的应用,创作不易,如果您感觉这篇文章对您有帮助的话,麻烦点个赞,谢谢。