数据库建模方法

这个数据库建模确实分为四个步骤。

1 . 商业建模 这是起点。
说白了,你得懂业务。
比如2 02 0年,我在一家电商公司做一个项目,他们说要卖商品,记录买家、卖家、产品、订单。
但我到底想要什么,当时我真的不明白。
后来经过互相交谈,我意识到我需要记录买家买了什么,花了多少钱,什么时候买的,卖家有什么产品,花了多少钱,有多少库存。
反正就是一层一层的往下挖掘,把所有的业务需求都理清了。
这一步是为了确保最终的数据库可以使用并且可以解决问题。

2 概念建模 一旦理解了业务模型,抽象就开始了。
还是用电商的例子,挑出买家、卖家、产品、订单的关键点,把它们当作实体。
买家有什么属性? 姓名、电话号码、地址。
产品有什么属性? 名称、价格、库存。
然后看他们的关系,买家买商品,卖家卖商品,订单关联买家和商品。
这些关系被抽象为表和字段。
这一步是画一个草图,什么是表,什么是字段,表与表之间的关系是什么。

3 逻辑建模 一旦概念模型就位,它就开始细化为数据库表结构。
比如指定表名、字段名、数据类型,比如买家表、id(主键)、姓名(字符串)、电话号码(字符串)等,我们还需要考虑关联性。
买家和订单是一对多的,所以我们需要在订单表中添加买家ID(外键)。
我在做那个电商项目的时候,选择了雪花模型,就是表之间的关系比较多,查询速度慢一点,但是结构清晰。
星型模式表少,查询速度快,适合分析。
你必须根据你的需要来选择。

4 物理建模 最后一步是着陆。
选择数据库系统,如MySQL、Oracle等,并定义表、索引等存储结构。
常用查询字段必须添加索引。
例如,当买家检查订单时,买家的ID必须被索引。
还需要考虑查询优化。
在那个电商项目中,发现订单表太大,所以分为月表、季表、年表。
查询速度要快得多。
这一步是为了保证数据库运行速度快并且易于使用。

反正就是这样一个过程,从了解业务到具体实现。
每一步都要小心翼翼,否则最后用不着,功夫就白费了。

从零开始PISA 2022数据库分析

你的指南非常详细,但让我告诉你,当我这样做时,事情并不那么容易。

现实生活场景:我记得那是2 01 8 年。
我刚刚接了一个项目,想要创建一份关于PISA数据的分析报告。
当时我还有SPSS格式的法语数据文件。
说实话,当时我对Python知之甚少,更不用说这些专门的库了。

数据收集和准备: 当时我直接去OECD官网下载了数据。
我找不到预制的 Python 脚本,所以我手动下载了它。
下载后,我将其复制到SPSS中并打开。
看着详细的变量让我头大了。
后来发现我从来没有听说过pyreadstat.read_sav,当时的指南里有提到过。
他们都是利用SPSS自带的导出功能将数据转换为CSV,然后导入到Excel中。

数据加载和初步探索: 当时我根本不知道 import pandas as pd 是什么,所以就用 Excel 的过滤功能来一一查看变量。
当时,我对指南中提到的元一无所知。
我只看过 SPSS 中的变量标签。
你的打印输出(f“总样本量:{len(df)}”),我当时手动计算的,计算过程中睡着了。

数据预处理: 当时,在处理缺失值时,我们直接使用Excel的行删除功能来删除有缺失值的行。
指南提到Missing_pct=df_hkg.isnull().mean()1 00,当时我不知道该怎么做。
我只是亲眼所见。
您的 cols_to_drop=missing_pct[missing_pct>5 0].index。
当时我并没有太在意,只删除了缺失值一半以上的变量。

变量编码转换: 当时,在处理分类变量时,我总是使用Excel的替换函数将'female'替换为0,将'male'替换为1 指南中提到的df_hkg['ST004 D01 T']=df_hkg['ST004 D01 T'].map({'Female':0,'Male':1 })被替换为1 ,因为我当时不知道该怎么做。
手动一一进行。

探索性分析: 当时分析数据时,我总是用Excel的图表功能画柱状图,看看哪个国家得分更高。
当时我从未听说过指南中提到过 sns.histplot。
全部使用了Excel的直方图功能。
sns.scatterplot,我当时用的是Excel的scatterplot函数。

高级分析示例: 当时我连回归分析是什么都不知道,更不知道统计模型。
指南中提到的 model=sm.OLS(y,X).fit() 是我当时不知道该怎么做的。
我使用 Excel 的回归函数来确定哪个变量的系数较大。

要点: 当时,我们不知道有效值是什么,一切都是使用原始分数进行分析的。
指南中提到的Weighted_avg=np.average(df_hkg['PV1 MATH'],weights=df_hkg['W_FSTUWT'])当时不知道怎么做,所以就用了Excel的加权平均函数。

扩展分析方向: 那时我根本不知道什么是国际比较。
仅分析了一个国家或地区的数据。
对于指南中提到的sns.boxplot,我使用了Excel的boxplot函数,因为我当时不知道怎么做。

可视化模板: 当时我连Python是什么都不知道,就用Excel的图表功能。
您的指南中提到的 plt.Figure(figsize=(1 2 ,6 )) 是我不知道该怎么办。
我使用了Excel的图表大小设置功能。

资源推荐: 当时我连R语言和Python是什么都不知道,就用SPSS和Excel。
当时我从未听说过指南中提到的 intsvy 包和 pisa_utils 库。
两者都使用 SPSS 提供的统计功能。

总的来说,你的指南很详细,但对于初学者来说还是有点困难。
我们建议从SPSS和Excel开始,慢慢学习Python和R语言,然后逐渐转向更高级的统计方法。
请记住,数据分析不是一朝一夕就能完成的,需要不断学习和实践。

如果您不确定,请说出来。
本书中提到的很多高级分析方法我当时都没有接触过,所以不敢乱说。
要想获得成功,最好从基础开始一步步学习,而不是急于求成。

基于 SEER 数据库,如何构建一篇临床预测模型的文章?

我以前做这个的时候…2 02 2 年…在北京…当时对SEER数据库不是很熟悉…我得先弄清楚要做什么…比如…预测早期肺癌…手术后五年的生存概率…必须精确到年份…不能胡说八道…
必须是正确的模型。
..这是一个预后模型...也就是说...病人跟随时间...看看是否会发生什么事情...这不是一个诊断模型...
所以...你必须下载SEER数据库...那个东西...数据量很大...你必须知道需要哪些列...例如...男性,女性...多大年龄...白人和黑人...是否有转移...以及肿瘤分期...手术与否...肿瘤标志物...像AFP...无论如何...关键变量必须被框定首先...
数据清理是个大问题...SEER中缺失了很多值...有些变量缺失了 太神奇了...比如...纤维化评分...可能少了一半...你得想办法...要么用扔这个插值变量...当时很困惑...
分类变量必须转换为数字...比如...TNM阶段...T1 T2 T3 T4 ...必须是 1 2 3 4 ...不能用的话...连续变量...比如年龄...也可以分段...比如...小于5 0岁...5 0岁...有临床意义...很棒...
所以...你得把数据分开...建模集和验证集...一般是7 到3 ...建模集用来训练...验证集用来测试...取决于两组基线特征...比如年龄和性别...是不是相等...如果差距很大...必须用PSM...单一麻烦分数COX变量...P值小于0.05 的...进入多因素...多因素筛选...P值小于0.05 的...是独立预测变量...你必须计算风险比...HR...和9 5 %CI...
列线图...它是列线图...每个变量...必须画一条线...根据分数可以看到总...概率...比如五年生存率...那张图...很难画...
模型性能的评估...取决于AUC...新模型的AUC是0.8 5 ...比旧模型强0.7 2 ...还取决于校准...Hosmer-Lemeshow检验P值大于0.05 ...做校准和预定的概率...对角线...还需要看DCA...决策曲线...曲线高...表明临床用途很大...
写一篇文章...先说一下背景简介...肺癌预后不一样...老模型有什么问题...那么方法...怎么用SEER...怎么定义变量...超...特征...做表格...多因素结果...HR...然后放Nomogram图...然后放评估结果...AUC...校准图...DCA...
讨论...就说说模型有多好。
块...比如AUC高...旧模型无法比较...说一下局限性...比如不是用SEER数据来帮助医生...决策...
备注...样本量必须足够...必须有足够的结局事件...比如建模集...必须有1 00到2 00个死亡...变量不能重叠...比如T分期和AJCC分期...不能全部录入...必须使用外部数据验证...像NCDB...但是一步步的条件不多...
一步步在...北京...花了三个月...搞清楚了...