扬声器
|
成绩单
|
| 布伦丹·利里 |
你说得对。 |
| 瑞安·帕克,JMP |
你是。 |
| |
这里。 |
| |
我很好。 |
| |
你能听到我说话,好吧。 |
| 布伦丹·利里 |
我能听到你的声音 好吧,你也能听到我的声音 好吧。 |
| |
是的,好吧,你收到音频了,很高兴见到你。 |
| |
显然,这样做,你是在为克里斯工作,或者。 |
| |
太棒了我 |
| 瑞安·帕克,JMP |
首席数据科学家是对的,所以我有这个权利。 |
| 布伦丹·利里 |
这是一个很大的标题。 |
| |
在那里。 |
| |
是的。 |
| 布伦丹·利里 |
你是一名高级研究统计学家,我环顾四周,我想我见过你的脸,但我还没有机会见到你,很高兴见到你。 |
| 瑞安·帕克,JMP |
太那么你在哪里。 |
| 布伦丹·利里 |
我住在新泽西州,我将带您参加纽约和新泽西州的项目。 |
| |
惊人的。 |
| 布伦丹·利里 |
我在这个领域很开心,我可以展示你们创造的所有好东西。 |
| |
我认为你很完美。 |
| |
因此,当我们开始这里时,我只讲几件事。 |
| |
让我们首先看看,如果您的所有手机计算机通知所有爵士乐都关闭,您的麦克风看起来不错。 |
| 瑞安·帕克,JMP |
喜欢。 |
| |
请勿打扰,让我仔细检查一下计算机。 |
| |
是的,不要打扰一切。 |
| 布伦丹·利里 |
好吧,我没有听到任何类似“是否有风扇转动”之类的声音。 |
| 瑞安·帕克,JMP |
我知道,但是你听不到。 |
| |
不。 |
| 布伦丹·利里 |
你有任何宠物甚至收起来所以不不。 |
| 瑞安·帕克,JMP |
就是这样。 |
| |
只是小孩子,但他们不会在身边。 |
| 布伦丹·利里 |
发生了一起狗事件,这是我最后一次发生的事情,这就是我要说的。 |
| |
好吧,好吧,让我们看看你的显示器,你是在 Windows 还是 MAC 上。 |
| |
MAC 你知道你的显示设置是什么吗?如果是在 MAC 上可能没问题,通常他们要求 1920 年 10 点。 |
| 瑞安·帕克,JMP |
这。 |
| 布伦丹·利里 |
只是为了一个解决方案,但我想这很好。 |
| 瑞安·帕克,JMP |
是的,应该没问题,好的,我。 |
| 布伦丹·利里 |
想要向 JMP 期刊展示您将要使用的内容,或者它也是 PowerPoint。 |
| 瑞安·帕克,JMP |
所以我只分享桌面,这是最好的方法。 |
| 布伦丹·利里 |
是的。 |
| 瑞安·帕克,JMP |
或者你喜欢分享。 |
| |
一次一个,这可能是隐藏缩放的最简单方法。 |
| |
那么让我们从这个开始看看它是什么样子的。 |
| 布伦丹·利里 |
伟大的。 |
| 瑞安·帕克,JMP |
好吧,这张幻灯片拍摄得非常快,只是为了确保不会出现任何奇怪的东西。 |
| 布伦丹·利里 |
你知道时髦的动画,你很棒。 |
| 瑞安·帕克,JMP |
是的,没有奇怪的动画,然后我将进入 JMP 和设置的开放状态。 |
| |
并从那里发射。 |
| 布伦丹·利里 |
完美 好吧,我看起来我认为我们很好,我说的是,我给我带来的唯一另一件事是,在你 JMP 进入并开始之前,我们将详细记录它,你知道。 |
| |
因此,如果您犯了错误,或者您想犯错误,则必须重新开始。 |
| |
但在开始之前请花几秒钟,也许可以在头脑中从三到五倒数。 |
| |
好的,开头和结尾都有一点空白,这样你就可以翻转它。 |
| 瑞安·帕克,JMP |
没错当然没问题。 |
| 布伦丹·利里 |
这就是我所得到的一切,所以我要继续并跳上静音,最后,我为 JMP 工作,我认为我没有必要这样做,但为了安全起见,我会阅读它。 |
| |
您了解此录制内容供 JMP Discovery 夏季会议使用,并且将在 JMP 用户社区中公开发布(如果您允许我们使用此录制内容)。 |
| 瑞安·帕克,JMP |
我确实请分享它。 |
| 布伦丹·利里 |
我问,广泛报道,以防万一帕金森不会生我的气。 |
| 瑞安·帕克,JMP |
是的,你知道有人配偶喜欢嘿你做了什么。 |
| 布伦丹·利里 |
你知道我知道我知道。 |
| |
酷瑞恩,谢谢你,我将在你的脑海中以静音倒计时的方式播放我们的视频,当你准备好时就开始吧。 |
| 瑞安·帕克,JMP |
好的,让你知道,我认为 20 分钟左右的时间是正确的。 |
| |
因为我觉得总共30个是对的,然后他们想给一些。 |
| |
额外的时间。 |
| 布伦丹·利里 |
所以是的,简洁是完美的,你给了 Q amp 的时间,这听起来很理想。 |
| 瑞安·帕克,JMP |
好的,太好了。 |
| |
听起来很棒。 |
| |
嗯,谢谢你今天来。 我叫瑞安·帕克。 我是一个 |
| |
直接函数PCA。 |
| |
这是一种分析功能数据的新方法。 我只想承认我们的首席数据科学家 Chris Gotwalt 不仅在 FDE 的发展中发挥了重要作用,而且在 |
| |
还有这个新工具,以及我们的 Rajneesh 测试团队,你知道,他们的工作通常会被忽视,但却是我们取得今天成就的一个重要原因。 |
| |
因此,我不会假设您甚至使用过 FDE,或者您甚至不知道功能数据是什么。 |
| |
因此,从头开始,确保我们都在同一页面上。 功能数据……实际上,我们将其视为具有输入 X 的任何数据,在本例中我们有一些温度数据。 我们的输入是周,所以这些是测量的 |
| |
一年中的每一个星期。 我们的输出 Y 就是这个温度。 |
| |
所以,你知道,你可以采样来找到解决方案,也许每天或每小时,但总体思路是你还没有完全采样,你知道, |
| |
整个功能。 你有一些方法来处理它的一些样本。 确实在所有情况下 |
| |
我们关心的是,虽然你可以使用一种功能,但我们也想考虑拥有多种功能。 因此,我们有多个气象站,每周我们都会捕获温度。 |
| |
因此,虽然我们每周都会在这里填写,但我们不一定必须具有 FDE 的这一功能,因为您可以拥有,您知道,某些月份的样本点,或者它们没有......它们可以在不同的时间点进行采样时间地点。 |
| |
但它也不一定是,你知道......你的输入不一定是传统意义上的时间。 也许是温度,并且您已经得到了这种清晰度的测量结果作为输出。 |
| |
你知道,所以我们支持这一点。 |
| |
这实际上是你有一个输入,你有一个输出的映射。 或者也许您处于光谱设置中,所有输入都是波长,现在您的输出是强度。 |
| |
在一个例子中,我将展示直接函数式 PCA,我们有多个数据流、多个函数,所以我们不仅有,你知道, |
| |
不同的...不同的功能,但我们有不同的输出。 你知道,我们有电荷、活塞力、电压和真空,我们希望将所有这些结合在一起 |
| |
并分析它们。 |
| |
因此,这些类型的数据有助于推动功能数据浏览器的开发。 |
| |
我们有两个主要问题... |
| |
我们通常用它来回答。 第一个是实验设置的功能设计。 在这种情况下,我们有一些我们想要尝试并联系起来的因素 |
| |
到我们的响应函数。 因此,在这种情况下,我们真正感兴趣的是如何以某种方式塑造这个响应函数。 |
| |
因此,我们可以将这些因素与函数联系起来,在这种情况下,我们希望...我们的函数尽可能长时间地保留在绿色规范区域中,并且通过 FDE,我们可以...我们可以提供帮助去做。 |
| |
另一个常见的情况是我们所说的函数式机器学习,在这种情况下,我们希望更多地将我们的函数视为 |
| |
对某事物的输入。 因此,在我们的过程中,也许我们有最终的结果或最终的产量,就这个发酵过程数据而言。 |
| |
所以我们要总结一下这些函数的形状。 使用它们作为预测模型的输入,以帮助找出什么会给我最好的结果。 |
| |
所以,实际上,你尝试玩的一个大游戏是函数式 PCA,函数式 PCA 正在做的是总结我们的数据。 |
| |
所以我这里有一个非常简单的例子,很容易看出它们都有不同的配对斜率。 |
| |
而且可能有点难以看出每个人的手段都略有不同。 所以我们的目标是激励这一点,尝试总结这些,你知道。 |
| |
使用一个简单的案例来说明如何将其扩展到更复杂的情况。 |
| |
所以,当我们这样做的时候???组合,我们将得到正交特征函数,它将尽可能多地解释函数与函数的变化。 |
| |
而且,一旦我们有了这些,我们就可以使用它们从我们所使用的所有这些函数中提取摘要。 |
| |
可用于预测建模。 所以我们采用一些非常复杂的形状,在本例中它不是超级复杂,但我们将把它总结为几个数据点,你知道,我们这里有 10 个左右的数据点。 |
| |
这...这就是特征函数的样子 |
| |
对于这些数据。 所以我们拿出了两个。 第一个解释了大约 77% 的变化,它对开头和结尾给予了最大的权重。 和 |
| |
正如您可能期望的那样,这是总结,您知道,它正在量化这些数据的斜率。 而第二个特征函数对整个输入给予相同的权重,这就是量化平均值的差异。 |
| |
因此,现在我们想要转换这些特征函数,将它们与我们的数据一起使用,并获得一个快速摘要,我们希望用它来解释这些函数之间的差异。 所以 |
| |
以函数 2 为例,我们将该函数乘以第一个特征函数。 我们将得到一个有很多负数的函数。 |
| |
因此,如果你想一下,你知道,对这个积分进行积分,将所有这些负数相加,你将得到一个相当大的负数。 |
| |
所以我们可以看到第一个组件如何真正捕获差异。 所以数字 10,对,是一个很大的正数,所以我们可以......我们可以在我们的数据中看到它也有那种很大的正斜率。 |
| |
对于第二个组成部分也有类似的想法,你知道,我们有较高的总体平均值与较低的总体平均值。 |
| |
而且,一旦我们有了这两件事,我们就可以回到原来的功能。 |
| |
添加总体均值后,我们只取第一个函数主成分分数,请参见函数 1。 我们将它乘以第一个特征函数 |
| |
然后我们添加第二个函数主成分分数,乘以第二个特征函数,然后 |
| |
这将重新创建第一个。 在类似的过程中,使用第二个函数的分数使我们能够 |
| |
重建或近似这些函数。 所以你可以看到,好吧,如果我们能够为这些 FPC 分数构建模型, |
| |
你知道,我们可以了解 DOE 因素如何改变它们,在这种情况下,这会改变我们的 alpha 函数的形状以及我们看到的第一个场景。 |
| |
那么让我们来看看为什么要使用直接函数 PCA? 又是什么动机这样做呢? 所以如果你以前使用过FDE, |
| |
我们拥有的建模选项被视为基函数模型。 在这些情况下,他们真的......他们首先平滑数据,所以我们将拟合模型,我们将得到一个可以操作的平滑函数。 但部分问题是我们可能有很多 |
| |
很多事情我们必须进行调整。 所以在 B 样条的情况下,我们必须选择最好的, |
| |
你知道,样条曲线中使用的多项式的次数,或者我们应该有多少个结? 我们为您提供了一些默认设置,但是,您知道,我们也允许您更改这些结的位置。 这很棒并且适用于很多情况, |
| |
但是当您获得更大的样本量或更复杂的函数时,这可能需要花费大量时间,并且可能会真正调整这些结的所有位置。 |
| |
但 FDE 现在的工作方式是我们拟合模型,我们将对这些模型的系数执行 FPCA,并且之间存在良好的关系, |
| |
你知道,现在我们的特征函数与我们的数据模型具有相同的形式。 因此,它带来了很多好处,但无论是计算成本高昂还是模型做得不够好,我们都需要另一种方法。 |
| |
所以 |
| |
之前的做法是先对数据进行平滑处理,现在我们在想,好吧,我们就按原样获取数据吧。 让我们直接对其进行操作。 |
| |
然后从那里我们平滑我们得到的特征函数。 因此,这不是公平的,您知道同类比较,但是使用 B 样条与直接 FPCA 相比,您会...您会倾向于注意到 |
| |
使用直接 FPCA 获得的特征函数会更平滑,这就是我们希望它更平滑的方式,你知道。 这里的这个小神器真的那么重要吗? |
| |
FPCA 表示,也许事实并非如此。 我认为它确实在最后一个特征函数中被捕获,它并没有解释很多变化。 我们这里遇到了一些奇怪的颠簸。 |
| |
你知道,专家也许应该分析这个并说,不,这实际上是真实的,但最有可能的是,也许我们不应该给这个特征函数太多的权重。 |
| |
可能不会使用它。 |
| |
因此,我们用来拟合直接函数 PCA 模型的算法在本质上与 Rice 和 Silverman 方法类似,主要是它是一个迭代过程。 所以我们要做的是,你知道... |
| |
首先我应该提到数据需要位于常规网格上。 因此,如果您的数据没有在常规网格上,我们将直接为您进行插值。 我们还有一些选项...称为“减少”的数据处理步骤选项,您可以 |
| |
适用于对我们所操作的网格进行精细控制。 |
| |
但在我们的过程中,我们将采用一个特征函数。 |
| |
我们可以只要求第一个组件。 |
| |
拟合一个非常,你知道的,拟合一个平滑模型,然后要求下一个。 |
| |
一旦我们平滑了下一个,我们需要进行一些调整,以便我们让您知道我们想要的正交性属性。 |
| |
但这里的想法是,我们……我们遇到了一个问题,我们试图平滑许多不同的函数,以便首先让模型可以使用,现在我们要 |
| |
我们真正集中精力一次平滑这些本征函数。 而且我们的数量要少得多,因此对于大型数据集而言,该技术比 JMP 中的现有解决方案要快得多。 |
| |
所以我要讲的例子是在制造过程中,只是为了让您了解加速的想法, |
| |
如果您(在某种最佳情况下)知道要用于这些数据的确切 P 样条模型,那么拟合这些模型所需的时间是开箱即用的直接 FPCA 解决方案的三倍。 |
| |
不同之处在于,您不一定知道这些模型将会是什么,因此您必须花时间来拟合多个模型,因此相对于直接 FPCA 要做的事情,现在您确实花费了很多时间。 |
| |
但是,所以这个例子 |
| |
特别关注我们将玻璃粘合到晶圆上的步骤。 |
| |
这个过程,你知道,周围就像真空,有一些工具,它们都位于这个卡盘上,并且 |
| |
这个过程正在运行,不幸的是,其中大约 10% 被销毁,但这只是过程的中间,直到几周后你才会知道 |
| |
他们被摧毁了。 所以我们的目标是......我们有传感器通过这个过程收集数据,我们想尝试用它来识别我们可以摆脱的晶圆 |
| |
早期的。也许有一个子集我们可以摆脱,所以我们不能在它们上花更多的钱,所以目标是尝试使用我们的传感器流数据来识别它。 |
| |
所以现在我会去JMP。 |
| |
我有一本日记,所以所有这些来源都可以在社区页面上找到,但我将打开这个数据集 |
| |
我将启动 |
| |
分析专业建模菜单中的功能数据浏览器。 |
| |
让我们逐一浏览一下这些列。 所以我们有晶圆 ID,所以这只是我们的...... |
| |
将我们的不同职能分组。 |
| |
条件,所以这就是,你知道,这是好是坏? 所以我们想要 |
| |
保留它,我们想稍后使用它,所以我们将它作为补充变量,这告诉 FDE,你知道,当我们将来保存东西时,继续将其随身携带。 |
| |
电荷、流量、活塞力、真空度和电压 |
| |
作为此过程的一部分。 |
| |
要启动 FDE, |
| |
我们只是滚动浏览一下,你知道我之前展示过这些,但这些都是我们拥有的不同类型的数据, |
| |
必然...可能不是每个模型都适合,你知道。 适合这个的同一型号可能不适合,你知道...适合充电的同一型号可能也不适合流量。 |
| |
但直接 FPCA 是单独查看它们,并为我们处理这个问题。 在我开始之前,我想展示我提到的这个减少选项。 所以默认情况下... |
| |
这里有三个选项卡。 您可以直接将其放在均匀间隔的网格上,可以将其分箱到观察中,也可以删除每个 |
| |
第 n 个变量来填写它。 这些数据位于网格上。 我们实际上不需要做任何事情,但是我们可以,你知道,说好吧,让我们这样做,默认情况下,它会为你提供原始数据集的一半。 |
| |
现在你已经把它取下来了,形状仍然相当相同。 在这种情况下,我们不必这样做,它仍然很快,但如果您的数据是 |
| |
还没有在网格上,或者你只是有很多,通过使用reduce,你仍然能够捕获关键特征。 这确实是一件值得探索的事情。 |
| |
所以,由于我们有多个 ???,我将转到此 FDE 组选项 |
| |
并推出直接函数PCA。 |
| |
因此,这花了几秒钟,但这是针对每个模型拟合的。 |
| |
收费。所以我们能够适应,工作得相当好,我们有可用的诊断。 |
| |
我们有一个型号选择选项可以让您知道更改 FPC 分数的数量。 我们确定了四种最适合这种特殊情况的方法,而其他大多数人实际上只选择了一种。 |
| |
但是,如果您以前使用过 FDE,您就会知道,您会看到这种熟悉的功能摘要,但什么也没有……我们没有其他任何东西。 没有先前的模型是正确的。 这是这样的... |
| |
函数式 PCA 是模型,我们完全专注于此,而不是我们之前必须调整的其他内容 |
| |
在我的分数图和分析器上。 因此,滚动浏览这些内容,我们可以看到,您所知道的我们似乎非常适合这些内容。 |
| |
活塞力……我说过,你知道,很多人最终都只是选择了一个。 我的意思是,这可以解释该案例中几乎所有的变化。 |
| |
好的。 |
| |
好的。 再说一次,电压,最后一个。 |
| |
因此,如果我们返回到该组选项,我们可以保存所有这些函数的摘要。 现在我们已经有效、相当快地使用了 FDE |
| |
加载我们的数据并获取所有这些函数,并将它们总结为每个函数的几个摘要。 |
| |
但我们主要的 |
| |
最感兴趣的,主要是因为他们只是总结形状的变化,或者这些 FPC 分数。 |
| |
但仍然存在一些信息,人们在 FDE 之前,他们会做什么? 你取平均值,或者查看标准差或其他摘要,这些东西仍然有价值,所以我认为这很好,你知道,我们默认情况下会带上这些东西。 |
| |
我们有一些脚本。 因此,您原始数据表中的每个脚本也将被一起带来,但我们还添加了这些分析器脚本,以便您可以启动这些脚本并查看,好吧,我正在更改我的 FPC 分数,这意味着什么? |
| |
并帮助建立对此的一些见解。 |
| |
所以我们现在要做的就是尝试预测这种情况,无论好坏。 所以我将使用广义回归只是因为我认为它非常好 |
| |
方法不仅可以拟合这些模型,还可以解释它们。 |
| |
但你真的可以使用任何东西。 你可以得到一个神经网络,你可以做任何其他事情。 保存此表格后,您就可以随意使用 JMP 的其余部分 |
| |
看看你觉得你能最好地建模它。 因此,我将采用所有这些摘要,然后进行阶乘二级运算。 |
| |
因此,我们尝试预测最终条件,并将使用验证数据集。 |
| |
我们的目标就是这样,这到底是好是坏? |
| |
所以,实际上,这可能是其中最长的计算部分。 默认情况下,我们将使用此验证列执行套索。 我的意思是需要,我 |
| |
想一想,大约5-10秒就知道了。 |
| |
如果你愿意的话,你总是可以尽早停止它,但你知道我们正在给它提供一组很好的功能,并观察它们之间的交互来尝试找出答案, |
| |
你知道,尝试预测这种情况的最佳方法。 |
| |
这... |
| |
快完成了。 |
| |
现在只是在构建报告,一旦获得此模型,您还会看到感觉上未绘制的内容。 |
| |
因此,我个人喜欢在中心和缩放的基础上查看参数,以帮助更好地理解幅度差异。 |
| |
但其中一些,你知道,比如这个 FPC 分数,我想,你知道,它确实没有提供任何信息,而 FPC 2 和 3 则用于充电 |
| |
更有帮助,所以你可以对它们进行排序并查看,你知道。 有点像我描述的那样 |
| |
平均值或最小值或标准差的简单总结,它们提供了信息,但是,我们也看到在总结中肯定有很多信息...... |
| |
使用这些 FPC 分数来绘制这些函数的形状。 所以我会转到另一边,而你知道这个流量标准差似乎非常重要,我认为, |
| |
你知道,我喜欢这个的另一个原因是,如果你负责这个过程,并且你可以控制流量标准偏差, |
| |
这可以帮助你,你知道,也许你不需要知道第一步是什么,好吧,嘿,也许我们实际上可以做到这一点的一部分 |
| |
在我们构建模型之前进行改进,好吧,现在让我们放弃这些。 假设我们已经做到了,这是我们的模型,我们想尝试构建一个启发式模型 |
| |
是好是坏。 什么时候我只想继续并放弃它? 因此,让我们保存预测公式的列,这将被保存回摘要表中。 所以 GenReg 将为我们提供坏的概率、好的概率、最可能的条件。 |
| |
所以我们可以...我们可以在这里停下来说好吧,如果它高于 0.5,让我们仔细看看它,或者如果它高于,我不知道,0.75,感觉很好。 让我们...也许仅仅因为 |
| |
其余过程的成本。 你知道,你可能会根据现实世界的影响来选择这个概率。 |
| |
或者我们可以让分区模型帮助我们解决这个问题,所以我们现在要使用的就是这个概率作为一个因素。 我们只是说好吧 |
| |
我可以用手看看这个,让我们有一个模型来帮助我尝试弄清楚,你知道,它将如何将这些条件分组。 因此,我们将采取这一点,维护我们的验证数据集,这样我们就不会出现双重浸入的情况。 |
| |
所以现在我们所有的蓝色都是坏的,红色是好的,所以值得庆幸的是,总的来说,大多数都是好的。 |
| |
但让我们分开吧。 因此,如果坏的概率小于 0.1,则很可能是好。 我们大部分的坏处都在这个大于0.1的地方。 这说得通。 再次分裂。 现在我们真正关注的是……他们中的很多人都在其中 |
| |
是超过 0.25 的概率。 我们再分开一次,然后 |
| |
至少对于训练数据来说,它非常适合,嘿,所有这些都在 0.6 以上,它们都很糟糕。 你知道,你真的没想到会发生这种事 |
| |
实际上,这种训练或验证 R 平方确实强调了这一点,您知道,像大多数模型一样,您可以在训练集上做得比在验证数据集上做得更好。 |
| |
但它现在给了我们,你知道,我觉得 0.75 很好,但实际上这意味着,也许我们真的需要关注那些 0.6 或更高的。 |
| |
所以,这就是,你知道有点...... |
| |
我想现在,我们已经到了你知道的地步,这些都是模拟数据。 在现实世界的情况下,这非常有帮助,比如解释,你知道,我们……我们可以改进我们的流程吗?不仅在这方面,而且在我们拥有的其他样本数据集中也很有帮助。 |
| |
让我们回到幻灯片。 |
| |
好的,所以我大致回顾并总结了功能性 PCA 是什么,是什么激发了这种新的直接 FPCA 方法,并向您展示了如何在一个示例中使用它,您知道,在这个示例中我们试图尽早丢弃一些东西制造过程。 |
| |
所以,最后的一些技巧实际上是,你知道,它......快速计算使其非常适合大型数据集。 在某些方面,你可以从这里开始 |
| |
然后说,好吧,FPCA 的直接想法是什么? 它是如此之快,我不需要你知道摆弄模型控件。 在某些方面,如果您拥有大量数据,那么这是一个很好的起点。 |
| |
但它并不完美,你知道。 我展示了一些诊断程序,您可以看到它是否不太合适,就像任何模型一样,仅仅因为它很快并不意味着它很好。 所以只要确保你是 |
| |
确定可能的问题,也许您需要不同的方法。 我的意思是,我们还有其他基本函数模型 |
| |
致力于处理非常特殊类型的数据,您知道,即使这种方法也不一定像这些非常具体的模型那样有效。 |
| |
那就是,你知道......其中一部分是数据必须位于网格上,并尝试使用reduce来帮助你控制该网格,如果看起来事情要么太慢,要么真的不,有点,使得从某种意义上说,也许我们默认所做的事情对您的数据没有好处 |
| |
就像你自己可以做的那样。 |
| |
非常感谢您的到来,如果有人有任何问题,我会回答。 |