简单的问题真的!我正在运行大量的线性回归,y~x并希望获得每个回归的方差,而无需从summary.lm命令中给出的标准错误输出中手动计算.只是为了节省一点时间:-).执行此命令的任何想法?或者我是否必须自己编写一个函数来完成它?
m<-lm(Alopecurus.geniculatus~Year)
> summary(m)
Call:
lm(formula = Alopecurus.geniculatus ~ Year)
Residuals:
Min 1Q Median 3Q Max
-19.374 -8.667 -2.094 9.601 21.832
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 700.3921 302.2936 2.317 0.0275 *
Year -0.2757 0.1530 -1.802 0.0817 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 11.45 on 30 degrees of freedom
(15 observations deleted due to missingness)
Multiple R-squared: 0.09762, Adjusted R-squared: 0.06754 …Run Code Online (Sandbox Code Playgroud) 我一直在使用var.test和bartlett.test检查基本的方差分析假设,其中包括同质性(同质性,方差等式).单因素方差分析的程序非常简单:
bartlett.test(x ~ g) # where x is numeric, and g is a factor
var.test(x ~ g)
Run Code Online (Sandbox Code Playgroud)
但是,对于2x2表,即双向ANOVA,我想做这样的事情:
bartlett.test(x ~ c(g1, g2)) # or with list; see latter:
var.test(x ~ list(g1, g2))
Run Code Online (Sandbox Code Playgroud)
当然,可以使用图形化程序检查ANOVA假设,但是"算术选项"呢?这根本就是可管理的吗?你如何在双因素方差分析中测试同性恋?
我不确定这应该是在SO还是其他一些.SE,所以如果这被认为是偏离主题我会删除.
我有一个向量,我正在尝试使用以下等式"手动"计算方差(意味着基于方差的定义,但仍在R中执行计算):V[X] = E[X^2] - E[X]^2其中E[X] = sum (x * f(x))和E[X^2] = sum (x^2 * f(x))
但是,我计算的方差与var()R具有的函数不同(我用来检查我的工作).为什么var()功能不同?它是如何计算方差的?我已经多次检查了我的计算,所以我对我计算的值非常有信心.我的代码如下.
vec <- c(3, 5, 4, 3, 6, 7, 3, 6, 4, 6, 3, 4, 1, 3, 4, 4)
range(vec)
counts <- hist(vec + .01, breaks = 7)$counts
fx <- counts / (sum(counts)) #the pmf f(x)
x <- c(min(vec): max(vec)) #the values of x
exp <- sum(x * fx) ; exp #expected value of x …Run Code Online (Sandbox Code Playgroud) 假设我在Scala中使用类型类模式.这是我如何制作类型类Foo的C类部分:
Welcome to Scala version 2.9.0.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
scala> trait Foo[T] { def foo(t: T) }
defined trait Foo
scala> def foo[T : Foo](t: T) { implicitly[Foo[T]].foo(t) }
foo: [T](t: T)(implicit evidence$1: Foo[T])Unit
scala> class C
defined class C
scala> foo(new C)
<console>:11: error: could not find implicit value for evidence parameter of type Foo[C]
foo(new C)
^
scala> implicit object FooC extends Foo[C] { override def foo(c: C) { println("it's a C!") } } …Run Code Online (Sandbox Code Playgroud) 如果我有这样的列表:
results=[-14.82381293, -0.29423447, -13.56067979, -1.6288903, -0.31632439,
0.53459687, -1.34069996, -1.61042692, -4.03220519, -0.24332097]
Run Code Online (Sandbox Code Playgroud)
我想在Python中计算这个列表的方差,这是与平均值的平方差的平均值.
我怎么能这样做?访问列表中的元素进行计算让我感到困惑,因为我得到了方差.
该陈述是什么意思?
在C#中引用和输出参数,不能标记为变体.
1)是否意味着不能做以下事情.
public class SomeClass<R, A>: IVariant<R, A>
{
public virtual R DoSomething( ref A args )
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
2)或者它是否意味着我不能拥有以下内容.
public delegate R Reader<out R, in A>(A arg, string s);
public static void AssignReadFromPeonMethodToDelegate(ref Reader<object, Peon> pReader)
{
pReader = ReadFromPeon;
}
static object ReadFromPeon(Peon p, string propertyName)
{
return p.GetType().GetField(propertyName).GetValue(p);
}
static Reader<object, Peon> pReader;
static void Main(string[] args)
{
AssignReadFromPeonMethodToDelegate(ref pReader);
bCanReadWrite = (bool)pReader(peon, "CanReadWrite");
Console.WriteLine("Press any key to quit...");
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
我试过(2)并且它有效.
最近我注意到方差注释可以用在类型别名中.以下示例来自Predef:
type Function[-A, +B] = Function1[A, B]
Run Code Online (Sandbox Code Playgroud)
我开始思考,它可以在哪里使用.显然,您不能将方差更改为相反,或使不变类型表现为共变或逆变.编译器会抛出一个错误,就像这样
scala> type BrokenFunc[+T, -R] = Function1[T, R]
<console>:7: error: covariant type T occurs in contravariant position in type
[+T, -R]T => R of type BrokenFunc
Run Code Online (Sandbox Code Playgroud)
但是,你可以使一些变体类型的行为像不变量(至少,编译器不会与此争论).所以,我试着制作一个不变的版本List
scala> type InvList[T] = List[T]
defined type alias InvList
Run Code Online (Sandbox Code Playgroud)
但是这个新的不变量List仍然表现得像它的原始协变版本:
scala> val l: InvList[String] = List("foo")
l: InvList[String] = List(foo)
scala> val anyList: InvList[Any] = l
anyList: InvList[Any] = List(foo)
Run Code Online (Sandbox Code Playgroud)
那么,我错过了什么?类型别名中的方差注释的目的是什么?您能举例说明带有方差注释的类型别名,它与原始类型不同.
我正在使用sklearn,特别是linear_model模块.在拟合简单的线性之后
import pandas as pd
import numpy as np
from sklearn import linear_model
randn = np.random.randn
X = pd.DataFrame(randn(10,3), columns=['X1','X2','X3'])
y = pd.DataFrame(randn(10,1), columns=['Y'])
model = linear_model.LinearRegression()
model.fit(X=X, y=y)
Run Code Online (Sandbox Code Playgroud)
我看到我如何通过coef_和intercept_访问系数和截距,预测也很简单.我想访问这个简单模型的参数的方差 - 协方差矩阵,以及这些参数的标准误差.我熟悉R和vcov()函数,似乎scipy.optimize有一些功能(使用python中的optimize.leastsq方法获取拟合参数的标准错误) - sklearn是否具有访问这些统计信息的任何功能??
感谢任何帮助.
-Ryan
我有一个简单的时间序列,我正在努力估计移动窗口内的方差.更具体地说,我无法解决与实现滑动窗口功能的方式有关的一些问题.例如,使用NumPy和窗口大小= 20时:
def rolling_window(a, window):
shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
strides = a.strides + (a.strides[-1],)
return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)
rolling_window(data, 20)
np.var(rolling_window(data, 20), -1)
datavar=np.var(rolling_window(data, 20), -1)
Run Code Online (Sandbox Code Playgroud)
在这个想法中,也许我错了.有谁知道一个直截了当的方法吗?任何帮助/建议都是最受欢迎的.
variance ×10
r ×4
python ×3
scala ×2
alias ×1
anova ×1
c# ×1
covariance ×1
list ×1
numpy ×1
regression ×1
scikit-learn ×1
statistics ×1
testing ×1
time-series ×1
typeclass ×1