扬声器
|
成绩单
|
| 杰夫帕金森 |
谈到开发 JMP 功能时,我们的下一位演讲者 John Sall 对我们如何确定优先级有一种有趣的思考方式。 我们确实必须优先考虑哪些功能我们... |
| |
我们想投资哪些功能。 那么我们如何思考最重要的事情呢? 使我们的产品更强大的功能是我们应该努力的地方吗? |
| |
使其更具吸引力或更性感的功能或专注于缓解疼痛、减轻分析负担的功能怎么样? |
| |
好吧,约翰认为缓解疼痛应该是我们研发团队的主要动力。 John 是 SAS 的联合创始人。 他是 30 多年前创立的 JMP 的首席架构师。 |
| |
对于拥有数据并需要一种探索数据的方法的科学家和工程师来说,需要一种在桌面上轻松直观地探索数据的方法。 |
| |
他将谈论 JMP 开发背后的驱动力以及我们遇到我们想要处理的功能的方式。 因此,约翰,我想欢迎你。 谢谢。 |
| 约翰萨尔 |
谢谢你,杰夫。 在这里,我们在北卡罗来纳州卡里的新数字会议中心进行现场直播,我们可以容纳更多人。 |
| |
所以让我们把灯光调暗一点。 |
| |
好吧,我真的不在数字会议中心。 我真的在家。 所以我有一个家庭办公室。 哎呀。 不是那个。 |
| |
像我们所有人一样。 我在家主持这次会议。 但是,让我们切换到企业背景并开始吧。 |
| |
那我该聊什么呢? |
| |
好吧,当我们发布 JMP 时,在 JMP 会议联盟发布的那几年,这就是我们谈论的内容,但在交替的年份,我总是只选择一个主题。 所以我选择了一年的大统计数据,或者下一年的幽灵数据或秘密功能 |
| |
两年前。 今天我的话题是以字母A开头的大词。 |
| |
好吧,这些是用于开发 JMP 的词汇特征主题。 所以让我分享我的屏幕。 |
| |
和 |
| |
最小化 |
| |
这里。分享。 |
| |
那么哪个主题最重要? 这是以...开头的三个词,以字母 A 开头的大词。 |
| |
正如杰夫刚才提到的,首先是合成代谢。 嗯,合成代谢就是增长肌肉,让 JMP 更强大。 |
| |
合成代谢过程构建器官和组织,这些过程产生细胞的生长和分化以增加体型。 |
| |
因此,增强 JMP 的功能将是一个机会,这当然非常重要,但下一个 |
| |
壮阳药,让 JMP 更性感,更刺激,发现的快感。 所以我们希望它也成为一个属性。 |
| |
但我们也关心你在工作流中的进步,所以镇痛是第三个词,意思是减轻疼痛。 |
| |
缓解疼痛。 |
| |
因此,我希望人们表达类似以下虚构引语的内容,\!“版本 15 刚刚为我服务......为我节省了数小时甚至数天的工作时间,而我以前不得不为此工作。\!” 这可以减轻很多疼痛。 |
| |
或 \!" 我以前必须单独做每一个,现在它是一口气完成的。\!" 那里有很多疼痛缓解。 或 \!" 过去,我必须使用其他几种工具才能完成所有工作,但现在我可以在 JMP 中完成所有工作。\!" |
| |
或者 \!" 我向我的同事们展示了我是如何轻松做到这一点的。 他们感到很惊讶。\!" 或 \!" 我以前必须手动编程所有这些,现在只需点击几下鼠标就可以完成。\!" |
| |
或 \!"JMP 让我保持顺畅,让我的注意力集中在分析数据上,而不是过多地转移到操作细节上。\!" 这些都是我们想听到的缓解疼痛的表达方式。 |
| |
现在为什么痛苦和挫折是真正的消极因素。 流量很重要。 在心流中你不会分心。 在心流中,您更有可能从数据中学到一些东西并做出发现。 |
| |
现在授权也很重要,但是新功能往往只有少数人使用,而旧功能则被许多人使用。 所以我们想让旧功能更好地工作 |
| |
以减少使用它们时的痛苦。 当然,生产力在很大程度上取决于我们的工具在时间使用方面的效率。 因此,如果我们能够更轻松、更快速地获得结果,那将是一个巨大的胜利。 因此,让我们来看很多例子。 |
| |
首先,数据表附带的脚本。 因此,您在这里并排看到了早期版本 JMP 中的一个示例。 我认为是 JMP 14 或 13,其中 |
| |
您以前必须在该按钮上按住鼠标键,然后它会弹出一个菜单项,然后您会找到一个运行按钮来运行该脚本。 |
| |
但是新方法只是在脚本旁边有一个播放按钮。 所以你只需点击那个播放按钮,它就可以保存下拉菜单。 |
| |
好吧,这不是一个巨大的胜利,您认为单击按钮和下拉菜单之间的差别并不大。 但这对新用户来说也是一个巨大的胜利,因为新用户不再需要了解 |
| |
一个热按钮将在下面运行。 但是脚本旁边有播放按钮。 因此,人们对这些是脚本有了更多的了解。 |
| |
将脚本与数据一起存储的能力在 JMP 中很重要,我们希望人们立即了解这一点 |
| |
而不必四处钓鱼或查看提示以了解它的工作方式。 并且能够存储您所有的脚本,这非常方便 |
| |
在数据表本身内,而不是找到其他地方来存储它们。 所以对于新用户来说,播放按钮。 所以,仅仅通过这个简单的改变就可以减轻一些痛苦。 |
| |
这是一个我们很遗憾没有在 JMP 中更早做出的改变。 |
| |
让我们谈谈准备数据。 准备数据时,您必须做的一件大事是连接来自多个来源的数据。 |
| |
现在 JMP,即使是第一版,也必须加入实用程序。 但这仍然涉及复杂的对话和处理多个数据表。 |
| |
这是我租电影的经典示例,我们有电影租赁交易表 |
| |
有客户、项目编号、订单日期、订单年份,然后我们有要租的电影库存,以及每部电影的详细信息。 然后我们有客户……关于客户的信息等等。 我们想问问题,涉及所有三个表,例如 |
| |
哪些性别在哪些类型的电影中很普遍。 那么这涉及 |
| |
遍历所有三个表,当然,join 命令是实现它的方法。 我把交易数据和我 |
| |
将其与客户合并。 当然,客户 ID 是匹配的 |
| |
列,我想包括交易方面的不匹配项。 所以如果我没有客户数据,我仍然不会丢失我的交易数据。 这就是所谓的左外连接,因此形成了新的数据表。 现在到那个数据表,我想加入那个 |
| |
到库存数据。 所以我加入了我当时匹配的项目编号,我也想要一个左外连接,现在我有 |
| |
另一张桌子。 所以现在,我有五个表,而不是三个表,是连接的结果,但现在我可以看看按流派回答性别问题,这 |
| |
性别倾向于租更多的电影类型。 |
| |
并且还涉及制作所有这些新的中间数据表。 |
| |
事实证明,有更简单的方法可以大大减少这些额外步骤和额外表格带来的痛苦。 因此,让我在这张桌子上撤消这张桌子。 |
| |
我想指出在 tables 命令下,有一个名为 JMP query builder 的命令,这会调出续集工具 |
| |
对于连接表,这比所有那些连接对话要容易得多,但它仍然会生成新的数据表。 |
| |
但是在几个版本之前,我们推出了更好的东西,可以进一步减少痛苦,那就是虚拟连接。 所以如果我看这张交易表, |
| |
我注意到它已经加入了。 |
| |
所以发生的事情是,当我准备电影库存表时,它由项目编号唯一标识。 所以我给项目编号 |
| |
一个链接 ID,表示它是唯一标识的,这就是我可以索引该表的方式。 同样,我有一个项目 ID 来标识客户数据。 当我准备我的交易数据时,我有这两个在某种意义上有外键, |
| |
一个链接引用,它通过……它们之间的标识 ID 引用不同的数据表。 因此,它会自动链接它,我已经拥有了回答该问题所需的一切。 所以我可以做 |
| |
每个 |
| |
性别,我可以 |
| |
找到我想做的电影类型。 所以我可以在这里看到男性更喜欢动作片,而女性更喜欢家庭片 |
| |
rom com更多的是女性等等。 所以我已经回答了涉及三个表的问题,而无需遍历所有连接,因为它实际上是通过匹配表中的那些 ID 列来连接的。 |
| |
所以我做了 |
| |
从中减轻了很多痛苦。 所以让我们关闭它,事实上。 |
| |
因此,我认为数据表连接涉及到对发布的很多痛苦缓解。 |
| |
重新编码, |
| |
这是我们在准备数据集时所做的其他主要事情之一。 |
| |
我们从许多版本前的一个非常简单的重新编码开始,我们只有一个字段用于旧值和新值,新值开始时与旧值相同,然后我可以剪切和粘贴或编辑这些值为了重新编码 |
| |
到新列或现有列中。 |
| |
重新编码每个版本都经历了巨大的改进,我们对当前的状态感到非常兴奋。 让我们看看这个医院、地区医院的数据集。 现在重新编码就在 |
| |
列标题中的右键或右键单击菜单。 我可以通过 |
| |
选择一堆东西并将它们分组为新值,例如诊所。 |
| |
但我认为也有很多捷径。 我最喜欢的快捷方式之一是 |
| |
对相似的值进行分组。 所以我可以给出一些字符差异数量的阈值等等,它会自动将所有这些东西分组。 因此它将拼写略有不同的所有地区医院归为一类。 |
| |
而我还能... |
| |
看起来它错过了一个。 不过没关系,我现在可以把那个和其他的组合在一起,然后 |
| |
总而言之,所有乡村医院都已根据匹配的那些自动分组,看起来我可以在这里多匹配一个。 |
| |
现在突然间我有了一些东西。 我在重新编码时节省了很多精力。 |
| |
当然,在 JMP 15 中,我们添加了新功能,我不会在这里展示,但我想指出这一点。 如果你有另一个数据集 |
| |
...证明...这些类别的最佳类别名称,我可以通过匹配过程并让它在找到所有这些东西的匹配项时选择最接近的匹配项。 所以 |
| |
因此,recode 在发布过程中经历了很多演变,以减少该操作的痛苦。 当然,考虑一下。 我们花多少时间准备数据而不是分析数据? |
| |
通常,我们 70% 到 90% 的时间都花在了准备数据上。 因此,减少痛苦并减少时间成为重大胜利。 所以减轻了重新编码的痛苦。 |
| |
单击值。 这是 |
| |
城市数据集。 |
| |
假设当我查看其中某些内容的详细信息时,例如可能是某些异常值,我想更详细地查看它。 所以我可以把它变成一个链接。 让我们 |
| |
让我们把它变成一个 wiki 页面 Wikimedia 页面的东西。 我将在那里复制该文本并转到信息列,然后将其转换为一个链接,即表达式处理程序。 |
| |
现在我可以 |
| |
这 |
| |
表格并将其转换为网络 |
| |
地址。所以 |
| |
我要去 wikipedia.org 然后把 |
| |
该城市的名称并将其更改为标题大小写,我可以在该行上对其进行测试并调出奥尔巴尼。 |
| |
所以现在我要说... |
| |
哦好的。 |
| |
现在我可以点击任何城市,然后获取关于该城市的维基百科文章。 或者它可以将其更改为地图坐标。 所以我可以...让我们复制该文本并转到列信息,现在我将代替它 |
| |
做标题大小写。 |
| |
让我们看看是否可以解析。 现在我可以点击丹佛,它将查询丹佛和谷歌地图。 |
| |
好吧,我已经把事情变成了链接……我可以做搜索,可以做地图请求等等。 我什至可以 |
| |
将这段话粘贴到其中并单击它并让它说出城市的名称。 因此,我认为这为能够在我们的数据表中存储链接提供了强大的功能 |
| |
链接到网页或做其他事情,任何你可以用 ACL 表达的东西,你都可以用这些事件处理程序来做。 这样可以减少很多痛苦。 |
| |
所以我最喜欢的一种减轻疼痛的技术是广播,这是你按住命令键或控制键做多次的地方,你有很多类似的分析。 可以,然后呢 |
| |
这不仅适用于菜单命令,还适用于许多按钮和调整图形框架的大小以及执行其他操作,将内容粘贴到图形中等等。 |
| |
因此,让我们举一个例子。 然后让我们单击...或者只对所有这些列进行分配。 |
| |
假设我想摆脱 |
| |
这个箱形图。 |
| |
如果我只是按住 |
| |
那个菜单项,我会消除那个项目的箱线图。 但我想做的是消除所有项目的箱线图。 所以我要做的是按住命令键并取消选中箱线图,现在所有这些都取消选中。 我现在可以取消选中分位数 |
| |
并且它将取消选中所有内容,因为它已接受该命令并向该窗口中的所有活动对象广播,对于那些理解该命令的活动对象,例如分位数命令,它将服从该命令。 |
| |
现在这甚至适用于一些与提示对话有关的事情。 因此,让我们看一下汇总统计数据。 让我按住命令键并自定义摘要统计信息。 |
| |
假设我不想要置信限度,但我确实想要缺失值的数量。 我会说,好吧,它会把它应用到所有... |
| |
所有的事情。 为了做到这一点,它必须 |
| |
获取该对话的结果,从中制作脚本,然后将该脚本广播到该窗口中的所有其他地方。 |
| |
现在这种情况不会一直发生。 有时当你得到提示时,你会得到每次分析的提示。 对于我们尝试的每个版本 |
| |
实现更多细节,对话在广播之前完成,因此它将向每个可用的地方广播相同的对话。 当然,我可以广播的所有其他内容都会发生变化,你知道,所有这些项目的大小,或者我可以广播 |
| |
更改背景颜色,我可以将所有图中的所有背景颜色更改为橙色 |
| |
这似乎与那个框架框相关。 所以这个广播成为一个非常强大的工具。 |
| |
所以, |
| |
这为我们大多数人减轻了很多痛苦,但仍然存在这样的情况,你可能有 40,000 个分组,就像今年早些时候出现的那样,他想对所有 40,000 个进行逆向预测,它会提示你 40,000 次。 |
| |
这将在版本 16 中得到修复。 对于那个用户来说,这减轻了很多痛苦。 |
| |
保存公式列。 |
| |
我喜欢公式列。 当您拟合模型时,您可以保存一列预测。 但是在那个预测中,有一个实时公式,所以你可以检查那个公式,你可以修改它,你可以将它应用于进来的新数据。 您可以将其分析到保存公式。 你可以 |
| |
如果你有 |
| |
JMP Pro,你可以去公式仓库做很多其他的事情。 您可以从中生成代码等等。 所以保存公式的能力很重要,但有时 |
| |
例如,如果你有分组,保存公式有很多额外的微妙之处。 |
| |
例如,让我们拟合,这是糖尿病数据,我们在其中拟合响应 |
| |
针对所有这些预测因素,但我们想针对每种性别分别进行。 |
| |
所以让我们这样做吧。 |
| |
因此,我们有两个按性别分组的性别一和性别二。 现在假设我们要保存 |
| |
事实上,这两者的预测值。 现在 |
| |
在过去,在我们接受很多止痛方法之前, |
| |
当你保存它时会发生什么,它会转到本地数据表。 如果您查看重做下的数据表窗口,它会显示按组表。 |
| |
所以真的对于 gender=1,这里这个虚拟数据表中有 235,你可以为 gender=1 显示。 这里有一个表变量,显示了它的分组。 |
| |
它会将它保存到这个临时表而不是你真正保存的真实表。 |
| |
但 |
| |
前段时间大家保存预测公式的时候,我们保存到真实的数据表中。 如果我看这个,我只是将它保存为 gender=1, |
| |
如果我查看它的公式,它表明如果 gender=1,那是 by group 子句,那么它有这个线性组合,形成了对该变量的预测。 |
| |
然后,如果我执行 gender=2,或者如果我按住命令键广播预测公式,现在它们都有了,而且我有两个子句可用于性别 1 和性别 2。 所以它每次都按组向该输出添加一个子句。 |
| |
顺便说一句,当你保存其他东西时,同样的事情也会发生,当我保存一列残差时,这次让我们按住命令键。 |
| |
如果我保存一列残差,它会按组保存它,它会按组保存适合该残差的残差。 就好像您从原始响应中减去预测公式,但这次不是公式列。 |
| |
JMP中几乎所有的地方,我们都没有做到,但是大部分地方都做到了,存入一个by组 |
| |
或者在某些情况下通过一个where子句,然后将其保存到原始数据表中,并带有if语句中的条件。 好的,所以有 |
| |
省了很多力气。 如果那不可用,tt 将保存在一个临时表中,然后您必须剪切并粘贴该公式并将 if 表制作到原始表中。 所以我们已经解决了这些问题。 现在让我们假设我再次保存它,再次进行整个过程, |
| |
和 |
| |
并做了另一件事,比如使用不同的变量,其中一些被删除, |
| |
现在又保存了。 |
| |
所以, |
| |
我保存了预测公式,这次按住广播键,实际上是生成一个新的而不是保存到旧的,并在它后面追加一个2。 那么,它怎么知道不把它保存到旧的呢? |
| |
好吧,每个合身都有一个 ID。 如果我看属性 |
| |
通过 ID,它有一个编号,一个为每次匹配重新生成的唯一编号,所以只要它有一个不同的 ID, |
| |
不同的组将具有相同的 ID 与一个分区。 但是只要它有相同的ID,它就会把它保存到同一个东西中。 否则它会创建一个新的地方来保存它。 |
| |
另外,每当我们说预测值时, |
| |
特别是预测公式, |
| |
它将创建一个属性 the,创建者,在某些情况下还会创建其他信息。 在这种情况下,它具有目标变量 y,这就是预测的内容,创建者适合最小二乘法。 |
| |
然后当你做其他平台时,比如如果你有 JMP Pro 模型比较,那么该模型比较将了解哪些预测值指的是哪个创建者,哪个目标。 因此它可以跟踪那些增值平台的所有信息。 |
| |
所以, |
| |
公式列通过添加新子句和其他属性来工作,包括按 ID。 |
| |
而预测子句,如果将它们保存到分类变量中,它会保存整个变量范围以具有每个响应级别的概率,以及所有元数据和需求中包含的所有内容。 这应该可以减轻很多痛苦。 |
| |
所以, |
| |
从模型中移除效果。 |
| |
好吧,让我们看一个例子 |
| |
适合的 |
| |
刚好适合体重身高。 |
| |
嗯,这是一个高次多项式的例子。 这是七阶多项式 |
| |
比 |
| |
六阶多项式等等。 但是你会相信那个合适吗? |
| |
事实证明,如果您通过引入高多项式项或仅通过引入更多变量来为模型提供很大的灵活性,它就会提供更多的拟合机会。 在这种情况下是 |
| |
它允许灵活地在以前的数据和最后一个数据点之间进行深入研究,以便更好地适应最后一个数据点。 |
| |
所以它是过度拟合的。 就是这样......它使用该参数来拟合噪声而不是拟合 |
| |
数据本身。 |
| |
因此,只要你有大模型,过度拟合就会成为一个问题。 所以 |
| |
你想要适应信号,而不是噪音。 好的,大型模型往往会在预测中引入更多变化,因为毕竟预测是 |
| |
他们正在使用的 y 变量的函数,而且 y 变量是该变量的系统部分加上该变量的误差部分(如果该变量部分) |
| |
是随机的,那么你的预测涉及到那个随机性。 如果你允许它有太多的灵活性,它会以 |
| |
一个过度拟合的问题,你将通过在该模型中包含所有变量来预测更糟的问题。 |
| |
所以解决这个问题的方法是缩小模型,减少模型的大小或减少模型中系数的大小, |
| |
这样模型的随机项的变化就会更少地传递到预测值中。 所以 |
| |
在小的 DOE 问题中,这不是问题,因为数据很小,而且数据很平衡,可以准确地适合您要使用的模型。 但是对于任何大型模型中的观测数据,过度拟合都是一个真正的问题。 |
| |
因此,在我们在 JMP Pro 中引入交叉验证之前,用户通常不会意识到这一点。 所以如果你有 JMP Pro,你可以设置一个验证列, |
| |
这将阻止一些数据,以估计该阻止数据集的错误。 这是我有的例子......我正在尝试预测具体属性 |
| |
取决于混凝土中的所有这些成分,我有一个巨大的模型。 如果我只是运行那个模型,但保留一些数据并查看上面的 R 方块, |
| |
我有 SLUMP,我很适合。 我有一个 R 平方 79,但在我适合的验证集上,我有一个负的 R 平方。 |
| |
任何负的 R 方都意味着它比仅拟合平均值更差。 所以如果我符合均值,我的 R 方将为零。 如果我适合整个模型,我的 R 方会比这差得多。 所以,对于大型模型,你可以比仅仅拟合更糟糕的是它比 |
| |
这有点反信息,因为模型太大了,我们没有努力缩小模型的大小。 该模型一直由噪声而不是信号主导。 所以这是一个你应该注意的问题。 |
| |
因此,重要的部分是能够减小模型的大小。 |
| |
现在我们确实引入了一个模型对话命令来做到这一点。 |
| |
让我们用模型来研究糖尿病。 |
| |
我可以运行这个模型,如果我想去掉很多这些东西不是很重要。 你知道,年龄 |
| |
对模型的贡献完全不显着,所以我想消除年龄。 那么我会的,我可以回去拟合模型然后 |
| |
回忆它或然后消除年龄。 或者,我可以在这里直接返回模型对话并适应年龄并将其删除,但我可能在这里有一长串模型并且来回做这些事情是相当多的工作。 |
| |
所以而不是那样做...... |
| |
让我们看看,我在这里做什么。 |
| |
几个版本之前,我们引入了一个名为效果摘要的新报告。 |
| |
通过效果总结,它可以很容易地对模型进行子集化以使其更好地预测, |
| |
给它更少的灵活性。 |
| |
所以我可以说,好吧,年龄,我可以删除它。 |
| |
或者,嗯,有很多变数。 让我们再删除三个。 |
| |
低密度脂蛋白,嗯,这看起来更重要。 所以我可以保存那个模型。 |
| |
让我们将它保存到数据表中。 |
| |
我稍后回来说,好吧,让我记住那个有这个的模型。 |
| |
我实际上可以撤消以前的事情。 所以我可以撤消它并带回 |
| |
三个变量,我可以撤消它,它会带回年龄。 所以它实际上存储,当我使用效果摘要编辑模型时,它实际上存储了所有这些东西的记忆。 如果我看那个剧本, |
| |
我可以看到这段历史。 所以每次我做效果模型时,它都会存储一个历史条款。 当我执行撤消操作时,它会将其撤消回该历史记录。 |
| |
所以删除很容易。 我还可以添加东西。 如果我减去这两件事,我可以把它加回去。 我可以加回去,比如说,年龄。 |
| |
这不是一件好事,但我可以做到。 我还可以通过带回模型的小版本来编辑模型,并且 |
| |
模型对话和添加复合效果等。 |
| |
现在大模型会发生另一件事 |
| |
(让我撤消这个)。 |
| |
对于大型模型, |
| |
你正在做很多假设检验。 |
| |
所以如果你有大量的假设检验,你应该考虑一些调整,其中之一被称为错误发现率。 因此,与其将所有这些 p 值视为独立测试,不如 |
| |
我想应用调整,以便针对多重测试偏差调整这些 p 值,针对子集模型中涉及的选择偏差。 所以我可以应用错误发现率 |
| |
更正它。 因此,我没有使用常规 p 值,而是使用了错误发现调整后的 p 值。 现在我变得更现实了。 所以这将帮助我解决过度拟合问题和假设......进行大量多重测试时的选择偏差问题 |
| |
事物。 |
| |
所以, |
| |
现在 |
| |
让我们 |
| |
做下一个主题,那就是转换。 |
| |
认为 |
| |
你想做模特, |
| |
但 |
| |
而不是 y,您想要拟合 y 的对数。 |
| |
那么,在你要做的是在数据集中创建一个新列之前, |
| |
登录y, |
| |
然后对于 Log y,你 |
| |
指定一个... |
| |
做一个公式。 |
| |
我可以拿 |
| |
它的日志。 |
| |
现在我可以回到我的模型规范并执行 Log y |
| |
然后我恢复健康了。 |
| |
哦,它不见了,我做了什么? |
| |
忘记输入 |
| |
客观,论据。 |
| |
所以现在我可以 |
| |
适合 Y 的对数 |
| |
现在 |
| |
我已经做到了。 但是让我们做分析器。 |
| |
我的探查器是根据 Y 的对数。 让我保存预测值。 我的预测公式是根据 y 的对数, |
| |
现在我将不得不去手动编辑它...... |
| |
该公式并取其指数 |
| |
把它恢复到原来的规模。 因此,以这种方式进行转换会带来很多痛苦。 |
| |
好吧,几个版本前 |
| |
我们引入了转换。 |
| |
所以我可以采取这种转变 |
| |
将其转换为日志 |
| |
现在直接将它用作转换,它不是数据表的一部分。 它是一个带有公式的虚拟变量,但没有添加到数据表中。 |
| |
现在我可以让我的模型适合 Log y。 让我们 |
| |
删除年龄,使其更合适。 |
| |
哎呀。 |
| |
也选择了那个。 |
| |
现在我已经符合响应 Log y。 |
| |
因此,如果我对此进行概要分析,我会得到什么? |
| |
因素分析,分析器。 它不是分析 y 的日志,而是分析 y。 探查器将其视为转换并说,好吧,我可以反转该转换并返回到原始比例。 这就是它的作用。 |
| |
它 |
| |
取消变换,通过 y 的对数反向变换以进行预测并将其置于原始尺度上。 |
| |
对于大多数可以展开的转换,它都会这样做。 如果一个转换涉及多个变量等等,它就不能这样做,它只会做转换。 所以原来 |
| |
保存列时也是如此。 当我保存预测公式时, |
| |
它在 y 的尺度上而不是 y 的对数上保存预测公式。 |
| |
因此,这些东西非常节省时间,并且在使用转换时节省了大量精力。 |
| |
所以有... |
| |
让我 |
| |
再次患上糖尿病 |
| |
并做另一个......考虑另一个转换。 |
| |
当你做变量时, |
| |
您可以获得 Box-Cox 变换。 |
| |
和 |
| |
在因素分析中,Box-Cox 选项 |
| |
告诉你是否变换了整个幂函数范围, |
| |
什么,最好做什么? 应该只是取消转换吗? 那将是一个 Box-Cox lambda 值。 |
| |
如果你做零,那相当于记录它。 如果你做了-1,那就相当于取它的倒数。 |
| |
给-1的力量。 如果你做的是 0.5 左右,那相当于取它的平方根。 |
| |
它告诉您,如果该模型更多地沿着平方根变换(其中 lambda 为 .453),则该模型将更适合针对该变换调整的变换比例。 这是 Box-Cox 变换中的最优值。 |
| |
你可以放大这个 |
| |
用放大镜得到 |
| |
更准确地得到它。 |
| |
所以, |
| |
所以现在我可以改造了,几个版本前 |
| |
我可以...我添加了几列。 一种是使用变换进行改装,这将使用变换响应创建一个新窗口。 |
| |
另一个是替换转换,我将要这样做。 而不是 .453,我将只进行平方根变换 (.5),现在我用该变换拟合模型。 |
| |
现在 lambda best 大约为 1,这是它应该的位置,因为它已经通过 Box-Cox 变换立即进行了变换。 现在我可以保存它的预测值和 |
| |
配置文件等等。 我什至可以撤销它。 所以如果我不喜欢那个改造,我想回到原来的样子,我可以回到原来的样子,然后改装。 |
| |
所以, |
| |
我们做了很多省心的事 |
| |
在转变反应。 |
| |
所以现在 |
| |
当你有大量数据时,会有一种特别的痛苦,一种特别痛苦的地方。 |
| |
我们付出了很多努力,试图以更少的痛苦解决大问题。 |
| |
无论您有很多行、很多列、很多组、很多模型要尝试, |
| |
在当今世界,我们生活在一个存在大问题的大数据世界中。 |
| |
因此,如果我们的分析最初是为处理小问题而设计的,那么它可能不适用于大问题,而大问题的核心问题是要整理的输出太多。 |
| |
如果通过将同一个模型拟合到 1,000 个变量,我将有 1,000 个报告需要整理。 如果我正在寻找 1,000 列中的异常值,那么只有异常值,您知道,每列都有单独的报告等等。 我希望能够 |
| |
更有效地处理大量大型数据集。 所以我们开发了筛选菜单, |
| |
这是为了解决这些大问题。 此外,JMP 中还有很多地方可以更好地解决大型问题。 例如,时间序列。 新的时间序列预测平台将预测多个时间序列,而不仅仅是一个。 |
| |
所以筛选平台上的项目探索异常值,探索缺失值,探索模式。 这些用于检查数据然后寻找关联、响应筛选、 |
| |
过程筛选,预测因子筛选。 当然,时间序列预测是一个新项目。 它不在筛选菜单中,但它是为处理大问题而组织的。 |
| |
所有这些都利用了,不仅是用更紧凑的方式来表示结果,这样你就不必处理成千上万的报告,而且它们在计算上也很高效。 他们使用多线程,所以它利用了你的 |
| |
倍数 |
| |
CPU 中的内核,使其非常快。 |
| |
假设您有很多过程数据;你有 568 个变量。 那么,这些变量中的哪个看起来是健康的? 井过程筛选旨在回答这个问题。 因此它可以按稳定性排序或按能力 (Ppk) 排序或哪些是坏的或排序 |
| |
控制图措施、失控账户等。 |
| |
但更重要的是……我什至更喜欢更好的是,一些工具可以在一张图中显示所有流程。 我爱他们中的两个。 一个是 |
| |
显示的目标图 |
| |
每个进程在规范限制方面的表现如何,如果它是一个有能力的进程,它就在这个绿色区域。 |
| |
如果它是边缘的,它在黄色区域。 如果不是,则它位于红色区域,如果它位于高处,则方差太大。 如果它偏向另一侧,那就有问题了。 |
| |
和... |
| |
它偏离了中心,偏离了目标。 |
| |
但如果它在绿色区域,那么这是一个很好的过程,我们在版本 15 中引入了 |
| |
graphlets,悬停帮助 |
| |
这样您就可以在将鼠标悬停在每个过程上时看到它。 然后另一个 |
| |
我喜欢总结所有这些事情并减少浏览所有这些报告的痛苦的情节是这个过程性能图。 因此,在垂直轴上,它告诉您您是否在能力 Ppk 的规格限制内。 |
| |
因此,如果您在 1.33 处高于此线,那么就规格限制的值分布而言,您看起来很好。 您完全符合规格限制。 |
| |
如果……那么稳定性指数在 x 轴上。 因此,如果这是一个非常不稳定的过程,即使它可能有能力但也不稳定。 所以如果你看看那个过程,它可能有一些 |
| |
稳定一些徘徊的东西。 如果你在黄色区域,你 |
| |
有能力但不稳定等。 红色区域是你既无能力又不稳定的坏区域。 因此,现在查看成百上千个流程变得很容易,而过去是很痛苦的。 |
| |
问题是,变化最大的是什么? 这是一些调查数据,其中 |
| |
在许多不同的年份里,你问了一个关于他们活动的问题。 你是否 |
| |
去野营? 还是在赌场赌博? 或者你感冒了吗? 你知道,所有这些活动,你想知道所有这些活动中的哪一个(还有 |
| |
我认为,有 95 种不同的活动),其中哪些活动的影响最大。 所以你正在寻找,你知道......你可以做的一件事就是一次通过一个 |
| |
并按调查年份匹配该活动。 |
| |
而不是一次只看一个。 我可以看看反应筛选 |
| |
只需查看一张图表,看看变化最大的是什么。 |
| |
所以这显示了所有 95 个东西的图表。 首先,就 P 值的负对数而言的显着性, |
| |
我们称之为对数价值,它根据错误发现率进行了调整。 因此它会处理一些选择偏差,因为您正在对所有这些 p 值进行排序。 |
| |
并选择后面的……低 P 值。 我发现租录像带变化最大,录像带,当然它们已经过时了。 所以,当然,它改变了。 |
| |
另一个录像带变了很多,收集到回收的东西变了很多,家里招待的人变了很多。 |
| |
这是一个不太重要但影响很大的问题,你使用互联网吗? 当然,这项调查是在互联网出现之前就开始的。 因此,它发生了很大变化。 所以关于什么变化最大的问题是 |
| |
现在很容易,以前很难。 |
| |
你问的另一个关于大数据的问题,缺失值在哪里。 所以这里是 |
| |
280个变量。 |
| |
缺失值在哪里? 我需要担心他们吗? 我可以查看探索缺失值报告,然后发现这些变量中只有五个具有缺失值。 |
| |
而且有的只有一个变量,一个缺失值,有的却有很多。 所以当我做一个分析,一个多变量分析时,我可能不想包括 |
| |
452 个变量中的 376 个。 或者如果我想包括 J,我可以通过 |
| |
并估算那些缺失值 |
| |
这样做,好吧。 |
| |
所以, |
| |
下一个问题,数据有异常值吗? |
| |
嗯,我有387次测量,我在这个过程中做的。 我想知道那里是否有异常值。 所以现在我们有一个工具可以在筛选菜单中执行此操作。 我可以 |
| |
使它或多或少敏感。 |
| |
让我们让它更敏感 |
| |
所以离群值和重新扫描更少。 |
| |
我可以看 |
| |
在 |
| |
九分。 通常,一串 9 用于表示缺失值,而这些 9 可能是真正的 9,但它们可能只是缺失值的指示符。 所以我可以,对于那些,我可以说很好地将这些 9 添加到缺失值代码中,现在记忆已经改变了。 |
| |
现在我可以 |
| |
返回(这里有很多变量)并重新扫描,需要担心的缺失值就会减少。 |
| |
因此,探索异常值曾经是一种痛苦。 |
| |
这仍然是一项艰巨的工作,但比以前容易得多。 |
| |
现在,在第 15 版中,我们添加了另一个筛选平台。 数据是否有可疑模式? 所以这里有一些来自临床试验的实验室数据。 这是尼卡地平实验室模式数据。 我可能想查看 27 个化验结果。 所以我调用 |
| |
新平台,探索缺失值。 这会告诉我,我有一系列价值观吗? 所以我的值是 .03536 但有七个连续的,从一行开始。 |
| |
2065.我可以给那些单元格上色,我可以看看那些那些值,也许它是最后结转的值,这可能不会可疑。 在这种情况下,它是... |
| |
这是同一个人。 所以也许最后的价值结转是一件合理的事情,但如果你已经分发了这些东西,这是一个罕见的,罕见的事件...... |
| |
如果,如果你假设这些东西是随机分布的。 |
| |
也是最长的重复序列。 所以对于这个变量,我们从第 2816 行开始,也从第 3034 行开始,一行中有四个具有相同的值。 所以如果我给那些东西上色,那里有四个一排。 如果我 |
| |
转到下一个序列,连续四个具有相同的值。 所以这可能是将相同的值从一个地方剪切并粘贴到另一个地方的症状。 |
| |
所以探索模式就是寻找那些东西。 还有很多其他的东西,你可以查看这 27 个变量中每一个的详细信息,并寻找可疑事物的症状,或者 |
| |
您处理数据的方式等造成的不良影响。 |
| |
所以, |
| |
探索解决大问题的模式部分。 |
| |
所以, |
| |
缓解疼痛。 我们的大部分开发都集中在使分析流程更顺畅、负担更少、耗时更少、痛苦更少。 止痛药。 |
| |
现在我们并不总是知道什么是痛苦的。 因此,我们依靠反馈来关注重点。 当我们收到那些我必须按提示回复数百次的电子邮件时, |
| |
我们听了,我们感到痛苦,我们修复了它,这样现在你可以广播成一个有成千上万的东西 |
| |
广播一次对话的结果,而不是多次对话。 所以把它送进来对其他人来说更好,因为我们第一次没有抓住它。 所以请给我们您的反馈。 |
| |
有了我们已经做出的所有改进,我们认为数据准备和分析的过程已经变得更加顺畅,中断更少,更加顺畅。 |
| |
所以, |
| |
与其花时间克服障碍,不如花时间从数据中学习,理解数据。 |
| |
分析。有人会怀疑他们是否来自同一个词根,当然,我们不喜欢将这两个词缩写。 |
| |
Analytics 来自希腊语 analyein,我不知道如何发音。 |
| |
但在希腊语中,它的意思是分手、释放或释放。 它把一些复杂的东西分解成碎片,这样我们就可以理解它。 |
| |
当然,这正是我们分析数据、数据科学所做的。 止痛药来自不同的单词组合 \!"an-\!"意思是没有,和 \!"algesis,\!"这就是痛感。 相同的前缀,不同的......有点不同的词根。 |
| |
不要缩写那些。 |
| |
合成代谢和壮阳药。 我们关心权力。 |
| |
我们所做的大部分工作是为您提供更强大的数据分析工具,其中大部分在 JMP Pro 和 JMP 中。 |
| |
我们希望数据能让人兴奋,你知道,发现的快感。 |
| |
学习如何在 JMP 中使用幂特征的快感,我们认为它令人兴奋。 你知道,这是一种壮阳药。 |
| |
因此,力量和兴奋对我们也很有价值。 这不仅仅是止痛。 |
| |
那么明年我们要做什么呢? |
| |
好吧,以字母 B 开头的大词。 |
| |
从A开始,接下来是B,对吧? |
| |
好吧,明年我们将推出 JMP 16。 这就是我们要谈论的内容。 谁知道明年我们会谈论什么。 非常感谢你。 我们希望您在分析数据时不会感到痛苦。 |
| 杰夫帕金森 |
非常感谢你,约翰。 我们对此表示赞赏。 这是一次精彩的演讲,多年来见证了很多痛苦, |
| |
是的,是的,你说的一切都是千真万确的。 减轻疼痛对我们来说很重要。 |
| |
我们确实有一个问题,实际上是很多问题;我们已经在问答中回答了其中的一些问题,但我想告诉你的是 |
| |
它既能缓解疼痛又能提供一些吸引力并使 JMP 更强大? |
| 约翰萨尔 |
好吧,我认为每个人都非常喜欢 Graph Builder。 |
| |
只需将这些变量拖过来并再点击几下,就可以得到想要的图表,而且可以轻松更改它,感觉非常强大。 |
| |
所以,这是一种刺激。 这是一个强大的功能,可以缓解疼痛;过去很难做到。 所以我认为这是每个人最喜欢的事情。 |
| |
但当然还有……JMP 是一款丰富的产品,我们为其中的一切感到自豪。 实验设计,所有 |
| |
那里涉及强大的力量,我们也试图让这个过程变得简单。 想到很多事情。 |
| 杰夫帕金森 |
非常好。 非常感谢,约翰,我很感激。 如果你喜欢这次演讲,我有两个建议给你。 一,我们将发布这个 |