我是一个业余爱好者程序员(之前只在TI-Basic中),经过多次,很多,我自己的辩论,我决定学习Python.我没有大量的空闲时间自学一百种语言,我所做的所有编程都是供个人使用或分发给需要的人,所以我决定我需要一种优秀,强大的语言来擅长.我的问题:
python是否足够强大,可以处理典型程序员在其关闭时间内可能执行的大多数操作?我想到了基于桌面游戏的用户输入,制作小游戏,自动化安装过程以及构建交互式网站的复杂统计数据生成器,但这些行可能有一百种
python是否能很好地处理网络任务?
python源可以被混淆,还是它本质上是开源的?我问这个的原因是因为如果我做了一些很酷的东西并分发它,我不想让一些白痴脚本小子编辑他自己的名字然后说他写了它
与其他语言相比,python有多受欢迎.理想情况下,我的语言在没有极端困难的情况下在网上找到的帮助很好而且很有用,但并不常见,因为每个有电脑的白痴都知道python.我喜欢知道一种略显模糊的语言的想法.
非常感谢您提供的任何帮助.
我已经阅读了很多关于将简单的健壮选项从 STATA 复制到 R 以使用健壮的标准错误的痛苦。我复制了以下方法:StackExchange和经济理论博客。它们可以工作,但我面临的问题是,如果我想使用该stargazer函数打印结果(这将打印.texLatex 文件的代码)。
这是我的问题的说明:
reg1 <-lm(rev~id + source + listed + country , data=data2_rev)
stargazer(reg1)
Run Code Online (Sandbox Code Playgroud)
这将 R 输出打印为 .tex 代码(非健壮 SE)如果我想使用健壮的 SE,我可以使用三明治包来做到这一点,如下所示:
vcov <- vcovHC(reg1, "HC1")
Run Code Online (Sandbox Code Playgroud)
如果我现在使用 stargazer(vcov) 只打印 vcovHC 函数的输出,而不是回归输出本身。
使用该包lmtest(),至少可以打印估计量,但不能打印观测值 R2, adj。R2、残差、残差 St.Error 和 F 统计。
lmtest::coeftest(reg1, vcov. = sandwich::vcovHC(reg1, type = 'HC1'))
Run Code Online (Sandbox Code Playgroud)
这给出了以下输出:
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.54923 6.85521 -0.3719 0.710611
id 0.39634 0.12376 3.2026 0.001722 ** …Run Code Online (Sandbox Code Playgroud) 我的问题是这样的:我NA在计算强大的标准误差时应该得到一些值.
我正在尝试使用群集稳健的标准错误进行固定效果面板回归.为此,我跟随Arai(2011)的人.3遵循Stock/Watson(2006)(后来发表在Econometrica,有权访问的人).我想通过(M/(M-1)*(N-1)/(N-K) 对抗向下偏差来纠正自由度,因为我的簇数是有限的并且我有不平衡的数据.
类似的问题已张贴前[ 1,2 ]在计算器上和相关问题[ 3 ]的交叉验证.
Arai(以及第1个链接中的答案)使用以下代码进行功能(我在下面提供了我的数据以及一些进一步的评论):
gcenter <- function(df1,group) {
variables <- paste(
rep("C", ncol(df1)), colnames(df1), sep=".")
copydf <- df1
for (i in 1:ncol(df1)) {
copydf[,i] <- df1[,i] - ave(df1[,i], group,FUN=mean)}
colnames(copydf) <- variables
return(cbind(df1,copydf))}
# 1-way adjusting for clusters
clx <- function(fm, dfcw, cluster){
# R-codes (www.r-project.org) for computing
# clustered-standard errors. Mahmood Arai, Jan 26, 2008.
# The arguments of …Run Code Online (Sandbox Code Playgroud) 我试图在R中复制Stata输出.我正在使用数据集事务.我无法通过强大的标准错误复制probit函数.
Stata代码看起来像这样:
probit affair male age yrsmarr kids relig educ ratemarr, r
我开始时:
probit1 <- glm(affair ~ male + age + yrsmarr + kids + relig + educ + ratemarr,
family = binomial (link = "probit"), data = mydata)
Run Code Online (Sandbox Code Playgroud)
然后我尝试了对sandwich包的各种调整,例如:
myProbit <- function(probit1, vcov = sandwich(..., adjust = TRUE)) {
print(coeftest(probit1, vcov = sandwich(probit1, adjust = TRUE)))
}
Run Code Online (Sandbox Code Playgroud)
或(与所有类型HC0来HC5):
myProbit <- function(probit1, vcov = sandwich) {
print(coeftest(probit1, vcovHC(probit1, type = "HC0"))
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 R 中的生存包中获取 clogit 回归的可靠标准错误。在此过程中,我尝试使用该选项复制 Stata 命令报告的标准clogit错误vce(robust)。
我的 R 公式是
conditional_logit <- clogit(dependent_variable ~ independent_variable + some_controls + strata(year), method= "exact", data = data_frame)
Run Code Online (Sandbox Code Playgroud)
将参数添加robust = TRUE到函数失败并出现错误:
Error in residuals.coxph(fit2, type = "dfbeta", weighted = TRUE) :
score residuals are not available for the exact method
Run Code Online (Sandbox Code Playgroud)
任何通过三明治或 plm 包提取稳健标准错误(如此处、此处、此处和此处建议)的尝试都会失败并出现相同的错误。类似地,clogit 函数包含一个在使用该方法时停止尝试计算稳健标准误差的条件exact(第 44 行)。但是,conditional_logit$residuals 和conditional_logit$score 存在于clogit 回归对象中。
如果有人能帮助回答以下问题,我将不胜感激:
glmulti是一个R函数/包,用于一般线性模型的自动模型选择,它构造了给定因变量和一组预测变量的所有可能的一般线性模型,通过经典的 glm函数拟合它们,然后允许进行多模型推理(例如,使用从AICc,BIC得到的模型权重.glmulti在理论上也与任何其他函数一起工作,它返回系数,模型的对数似然和自由参数的数量(以及可能的其他信息?),与 glm的格式相同.
我想使用glmulti对定量因变量的误差进行稳健建模,以防止异常值的影响.
例如,我可以假设线性模型中的误差分布为t分布而不是正态分布.利用其峰度参数,t分布可以具有较重的尾部,因此对于异常值(与正态分布相比)更稳健.
但是,我不承诺使用t分配方法.我很满意任何回馈对数似然的方法,因此可以使用glmulti中的多模式方法.但是,这意味着,不幸的是我不能(例如,使用R中的知名强大的线性模型lmRob从稳健或lmrob从robustbase),因为他们没有对数似然框架下运作,因此无法一起工作glmulti.
RI的唯一强大的线性回归函数发现在对数似然框架下运行的是heavyLm(来自重包); 它用分布模拟错误.不幸的是,heavyLm不适用于glmulti(至少没有开箱即用),因为它没有用于loglik的 S3方法(可能还有其他东西).
为了显示:
library(glmulti)
library(heavy)
Run Code Online (Sandbox Code Playgroud)
使用数据集stackloss
head(stackloss)
Run Code Online (Sandbox Code Playgroud)
常规高斯线性模型:
summary(glm(stack.loss ~ ., data = stackloss))
Run Code Online (Sandbox Code Playgroud)
使用glm的默认高斯链接函数的glmulti多模型推理
stackloss.glmulti <- glmulti(stack.loss ~ ., data = stackloss, level=1, crit=bic)
print(stackloss.glmulti)
plot(stackloss.glmulti)
Run Code Online (Sandbox Code Playgroud)
具有t分布误差的线性模型(默认为df = 4)
summary(heavyLm(stack.loss …Run Code Online (Sandbox Code Playgroud) 我在共享内存上使用pthread_mutex_twith来在不同进程之间进行同步。PTHREAD_PROCESS_SHARED
如果进程退出但互斥锁保持锁定状态,则互斥锁可能会死锁。有一个PTHREAD_MUTEX_ROBUSTPOSIX 标准。但 Mac OS X 似乎不支持PTHREAD_MUTEX_ROBUST.
Mac OS X 上是否有某种mutex可以在共享内存上使用的东西,可以用于同步跨进程,并且在进程在没有解锁的情况下死亡的情况下具有鲁棒性?
我想n用比较排序对项目列表进行排序。但是,该算法进行的比较之一将与它应该的情况相反。具体来说,有一对项目的比较器函数始终给出错误的结果。
什么是n*log(n)对这种错误比较具有鲁棒性的有效排序算法?健壮,我的意思是每个项目都k与它的真实位置相差最多点,对于一些相当小的k.
如果可能的话,我希望它在最坏的情况下是稳健的(对抗性选择的错误比较),但我会在平均情况下满足于稳健。
一个示例稳健算法(效率不高)是进行所有n*(n-1)/2成对比较,并根据他们赢得的比较次数来放置每个项目。然后,无论对手进行什么比较,每个项目索引都不会超过k=1。
非鲁棒算法的一个例子是快速排序,因为对手可以选择最大的项目位于第一个枢轴的错误一侧,使其平均n/2偏离其正确索引。
函数rlm(MASS)允许M和MM估计用于稳健回归.我想在ggplot2中绘制来自MM稳健回归的平滑器,但是我认为在stat_smooth中选择method ="rlm"时,自动选择的估计方法是M类型.
有没有办法通过ggplot2为rlm函数选择MM类型估计技术?
这是我的代码:
df <- data.frame("x"=c(119,118,144,127,78.8,98.4,108,50,74,30.4,
50,72,99,155,113,144,102,131,105,127,120,85,153,40.6,133),
"y"=c(1.56,2.17,0.81,1.07,1.12,2.03,0.90,1.48,0.64,
0.91,0.85,0.41,0.55,2.18,1.49,1.56,0.82,0.93,0.84,1.84,
0.78,1.15,3.85,3.30,0.94))
library(ggplot2)
library(MASS)
ggplot(df,aes(x=x,y=y))+geom_point()+
stat_smooth(method="rlm",fullrange=TRUE)+xlim(0,160)
Run Code Online (Sandbox Code Playgroud)
我已经用rlm摘要本身检查了结果,我很确定ggplot2正在使用(默认?)M估计.
如何使用rlm函数中的MM估计?
rlm(formula, ...,method = "MM")
Run Code Online (Sandbox Code Playgroud)
提前谢谢了!
我正在使用 MASS 的 rlm 函数来执行稳健的回归。与 lm 不同,summary 函数不返回 r 平方的值。
因此适合使用 1 - sum(residual^2)/(sum((Y-mean(Y))^2)?
(为等式道歉,我不知道如何以更好的格式编写它)
robust ×10
r ×6
regression ×2
stata ×2
algorithm ×1
c++ ×1
ggplot2 ×1
glm ×1
macos ×1
mutex ×1
networking ×1
noise ×1
panel-data ×1
python ×1
replicate ×1
sorting ×1
stargazer ×1
statistics ×1