def pv_davies_eig(squaredform, eigvals): import fastlmm.util.stats.quadform as qf #result = qf.qf(squaredform, eigvals,acc=1e-04,lim=10000) #settings to match R-based results result = qf.qf( squaredform, eigvals, acc=1e-07 ) #decided on 1e-7 after experimentation between -4 and -12. Thresh on exp in QFC.C seems to have no effect return result[0]
def davies(self, squaredform, eigvals, acc): max_mag = -np.log10(acc) pval = 1.0 for i in reversed(range(int(max_mag) + 1)): acc = np.power(10, float(-i)) ipval, ifalse, trace = qf.qf(squaredform, eigvals, acc=acc, lim=20000) if ifalse == 0: pval = ipval break return ipval
def davies(self, squaredform, eigvals, acc): return qf.qf(squaredform, eigvals, acc=acc)[0]
def pv_davies_eig(squaredform,eigvals): import fastlmm.util.stats.quadform as qf #result = qf.qf(squaredform, eigvals,acc=1e-04,lim=10000) #settings to match R-based results result = qf.qf(squaredform, eigvals,acc=1e-07) #decided on 1e-7 after experimentation between -4 and -12. Thresh on exp in QFC.C seems to have no effect return result[0]