现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指 标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。 请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于 商家,更有益于宝妈们为宝贝选择适合自己的奶粉。
(1) 以评价量为因变量,分析其它变量和评价量之间的关系。
(2) 以评价量为因变量,研究影响评价量的重要因素。

我们运用stata软件解决此问题。
在第一问中要求我们,以评价量为因变量,分析其它变量和评价量之间的关系。
我们在这里用回归分析,分析此数据,完成第一题。
1.导入excel表格的数据
方法一:单击stata的左上角的“文件”,选择“导入”,再选择“excel电子表格”
在浏览选择文件位置,然后勾选“将第一行作为变量名”,最后单击“确定”。

方法二:代码导入
import excel "D:\数学建模\清风数学建模\视频对应课件\正课\7 多元回归分析\第7讲.多元回归分析\代码和例题数据\课堂中讲解的奶粉数据.xlsx", sheet("Sheet1") firstrow
2.打开代码编辑器


3.数据的描述性统计
(1)定量变量


Obs:观测值、样本
Mean:平均数
Std.Dev.:标准差
Min:最小值
Max:最大值
(2)定性变量



4.回归分析(stata)

GLS为广义最小二乘,在OLS的基础上进行了一定的调整,为了克服扰动项u,当一些条件不符合时,我们可以使用GLS进行估计。

Model:SSR
Residual:SSE
Total:SST
R2 = 1 -(SSE / SST)


regress 评价量 团购价元 商品毛重kg
// 下面的语句可帮助我们把回归结果保存在Word文档中
// 在使用之前需要运行下面这个代码来安装下这个功能包(运行一次之后就可以注释掉了)
// ssc install reg2docx, all replace
// 如果安装出现connection timed out的错误,可以尝试换成手机热点联网,如果手机热点也不能下载,就不用这个命令吧,可以自己做一个回归结果表,如果觉得麻烦就直接把回归结果截图。
est store m1
reg2docx m1 using m1.docx, replace
// *** p<0.01 ** p<0.05 * p<0.1

F(2,843) 和 Prob > F 为联合显著性检验
F(2,843):为F统计量,
Prob > F:为P值,必须要小于0.05,要不然没有实际意义。
df:自由度
R - squared:R2
Adj R - squared:调整后R2(论文中一般用这个)
:为常数项也就是
.
t:t检验统计量=Coef. / Std. Err.
P > | t |:各因素所对应的P值。例如:商品毛重kg对应的P值为0.457>0.05,所以商品毛重kg对应的回归系数2410.303没有什么意义,与0没有显著差异。
[95% Conf. Interval]:
Coef.:分析出来的回归系数
Std. Err.:分析出来回归系数的标准误差
5.加入虚拟变量回归

Stata会自动检测数据的完全多重共线性问题。
下面的图片结果放在附录中就行了。


// Stata会自动剔除多重共线性的变量
regress 评价量 团购价元 商品毛重kg A1 A2 A3 B1 B2 B3 B4 B5 B6 B7 B8 B9 C1 C2 D1 D2 D3 D4 D5 E1 E2 E3 E4 F1 F2 G1 G2 G3 G4
est store m2
reg2docx m2 using m2.docx, replace

因为我们计算出来的P值小于0.05,所以通过了联合显著性检验。再寻找有哪些因素的P值小于0.05或者小于0.1,然后说它对应的回归系数是显著的。(只分析显著的)
在论文中放下面的处理好的表格


6.拟合优度 R2较低怎么办
(1)回归分为解释型回归和预测型回归。 预测型回归一般才会更看重𝑅2。 解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著 性即可。
(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归。
(3)数据中可能有存在异常值或者数据的分布极度不均匀。(本例就是这种情况)

在第二问中要求我们,以评价量为因变量,研究影响评价量的重要因素。
我们将引入标准回归,来解决第二题。

1.Stata标准化回归命令
就仅仅是在回归分析的后面加了“,beta”。

Beta:为标准化后的回归系数。
第二题计算结果分析:

P值小于0.05,所以以下分析结果可用。
结果只有团购价格和F1的P值是小于0.1,所以标准化回归系数显著,是影响评价量的重要因素。而团购价格的标准化回归系数比F1的标准化回归系数大,所以团购价格才是影响评价量的最重要的因素。
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg
我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
我正在写一篇关于在Ruby中几乎一切都是对象的博客文章,我试图通过以下示例来展示这一点:classCoolBeansattr_accessor:beansdefinitialize@bean=[]enddefcount_beans@beans.countendend所以从类中我们可以看出它有4个方法(当然,除非我错了):它可以在创建新实例时初始化一个默认的空bean数组它可以计算它有多少个bean它可以读取它有多少个bean(通过attr_accessor)它可以向空数组写入(或添加)更多bean(也通过attr_accessor)但是,当我询问类本身它有哪些实例方法时,我没有看到默认
如果我有以下一段Ruby代码:classBlahdefself.bleh@blih="Hello"@@bloh="World"endend@blih和@@bloh到底是什么?@blih是Blah类中的一个实例变量,@@bloh是Blah类中的一个类变量,对吗?这是否意味着@@bloh是Blah的类Class中的一个变量? 最佳答案 人们似乎忽略了该方法是类方法。@blih将是常量Bleh的类Class实例的实例变量。因此:irb(main):001:0>classBlehirb(main):002:1>defself.blehirb
我理解(我认为)Ruby中类变量和类的实例变量之间的区别。我想知道如何从该类外部访问该类的实例变量。从内部(即在类方法中而不是实例方法中),它可以直接访问,但是从外部,有没有办法做MyClass.class.[@$#]variablename?我没有任何具体原因要这样做,只是学习Ruby并想知道是否可行。 最佳答案 classMyClass@my_class_instance_var="foo"class上述yield:>>foo我相信Arkku演示了如何从类外部访问类变量(@@),而不是类实例变量(@)。我从这篇文章中提取了上述内
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上