数据挖掘和统计中的一个问题是收集数据并将其处理到您的软件中。 幸运的是,联合管理计划让这变得非常容易。
但是,一旦获得了数据,您需要做什么? 首先,您需要检查收集的内容并“整理”数据(例如清理数据),然后需要对其进行分析。 在这篇博文中,我们将研究所有三个领域:网络数据收集、数据整理和分析。
数据采集
最近的新闻集中在移民美国的各个方面。 因此,让我们探讨一下美国移民的趋势,特别是获得合法永久居民身份“绿卡”的人数。 相关数据可从美国政府免费获取2016年移民统计年鉴。我们将从中提取数据的具体网页是这样的:
https://www.dhs.gov/immigration-statistics/yearbook/2016/table1
该表有两列信息:年份和数字,如下所示。 该数据对我个人来说很有意义,因为我的妻子是 2014 年新增人数中的一员。 如果没有她,2014 年的数字将是 1,016,517。
Table 1: 2016 Yearbook of Immigration StatisticsTable 1: 2016 Yearbook of Immigration StatisticsTable 1: 2016 Yearbook of Immigration StatisticsTable 1: 2016 Yearbook of Immigration Statistics表1:2016年移民统计年鉴
网络数据提取
现在我们有了要分析的目标网页,我们需要将数据输入联合管理计划。 为此,我们可以使用互联网开放。 这是一个强大的工具,可以通过访问找到它文件 > 互联网打开。从那里,我们看到以下函数(已粘贴感兴趣的 URL)。对于如何在 JMP 中打开网页,我们有多种选择。在这个例子中,我们将网页作为数据打开,并希望这两列数据能够被正确检测到,这依赖于网页开发人员的逻辑组织。粘贴 URL 并选择如何打开 URL 后,我们可以单击好的。
Internet Open dialog box in JMPInternet Open dialog box in JMPInternet Open dialog box in JMPInternet Open dialog box in JMPJMP 中的 Internet 打开对话框
接下来,JMP 将搜索网页,查找可能包含数据的表格。 JMP 检测到的内容将以列表形式显示给我们。 幸运的是,该网页只有一项 JMP 认为是数据的项目。 我们需要选择我们想要打开的表,表格1此处,然后单击好的。
Importing Detected TablesImporting Detected TablesImporting Detected TablesImporting Detected Tables导入检测到的表
JMP 现在将创建一个包含网络抓取数据的新数据表。
Resultant Data TableResultant Data TableResultant Data TableResultant Data Table结果数据表
数据争论
乍一看,数据似乎已有效加载 - 例如,两个变量都是连续的(正如我们所期望的),并且浏览数据没有发现任何异常。 但是,如果我们绘制数据(使用图形生成器例如),我们发现 1976 年有一个异常值。
Data wrangling reveals an outlierData wrangling reveals an outlierData wrangling reveals an outlierData wrangling reveals an outlier数据争论揭示了异常值
显然,1976 年被输入为 19761。 所以我们必须考虑几种可能性:
- 难道有人“胖手指”19761,给今年加了一个“1”?
- “1”是否与第二列数据一致,即1976年有1,499,093人?
- 难道是别的什么?
如果我们返回原始网页,我们会看到第三个选项是正确答案。额外的“1”来自 JMP 作为年份一部分转录的脚注。 脚注向读者提供了 1976 年会计年度变化的信息。 为了便于分析,我们仅删除“1”;然而,更彻底的分析可能会看看这是否在相邻年份意外地多算了。
我应该向研究人员进一步指出:解决这个问题相对容易,因为我们自然地了解年份。 但是,如果移民数据中存在类似问题,我们可能无法检测到它,因为差异很大。 因此,如果您正在为互联网创建数据表,请考虑未来的研究人员,并将脚注放在最直观的列中。
数据分析与解释
为了快速分析,我们将使用通过 X 拟合 Y并创建各种模型。 我们可以创建的不仅仅是简单的线性回归模型通过 X 拟合 Y ,如中讨论的我的书的第九章使用 JMP 进行生物统计。
首先,我们将通过选择来拟合一阶线性拟合,即线性回归拟合线。 这条线,即下面的红线,显然不是我们数据的良好模型。 因此,我们将继续创建各种高阶多项式拟合(二阶到六阶),如下所示。
Applying Various Curve FitsApplying Various Curve FitsApplying Various Curve FitsApplying Various Curve Fits应用各种曲线拟合
从视觉上看,我们可以看到二阶拟合(绿线)似乎也不能很好地对数据进行建模。 然而,三阶到六阶拟合似乎捕获了原始数据中的一些复杂性。 对我来说,六阶拟合看起来最好,因为它没有像我们在三阶和四阶拟合中看到的那样在 2017 年左右出现看似指数级的增长。 虽然五阶拟合在数据末尾看起来不错,但它有一个奇怪的开始。 因此,六阶模型看起来是这些选项中最好的。
从这里开始,我们想要检查残差等。 通过检查所解释的方差进行粗略分析也有帮助。 下表通过 R 平方和调整的 R 平方提供了对模型质量的粗略评估。 R 平方调整很重要,因为它会惩罚我们添加额外变量。总体而言,评估表明六阶模型解释了很多变化。 结合我们对模型的视觉评估,六阶拟合似乎是使用这种方法创建的最佳模型。
| 命令 |
R 平方 |
R 平方调整 |
| 1 |
0.336 |
0.333 |
| 2 |
0.359 |
0.353 |
| 3 |
0.552 |
0.545 |
| 4 |
0.562 |
0.553 |
| 5 |
0.639 |
0.630 |
| 6 |
0.669 |
0.659 |
现在,这种解释是针对具有许多分配给误差的自由度的问题的均方。 因此,任何这些模型的任何预测的质量都可能很低。
下一步可能是进一步探索时间序列建模功能联合管理计划使用这些数据。 不过,这一天也够了!
有关收集数据(包括从网络收集数据)的更多信息,请参阅我的书的第 2 章使用 JMP 进行生物统计。本书的第 3 章深入介绍了数据争论。