সীমাবদ্ধ (অ-নেতিবাচক) সর্বনিম্ন স্কোয়ারে পি-মানগুলি গণনা করা হচ্ছে


10

আমি মাতলাবকে অনিয়ন্ত্রিত ন্যূনতম স্কোয়ারগুলি (সাধারণ ন্যূনতম স্কোয়ারগুলি) সম্পাদন করতে ব্যবহার করছি এবং এটি স্বয়ংক্রিয়ভাবে সহগ, পরীক্ষার পরিসংখ্যান এবং পি-মানগুলিকে ছাড়িয়ে যায়।

আমার প্রশ্নটি হ'ল সীমাবদ্ধ ন্যূনতম স্কোয়ারগুলি (কঠোরভাবে nonnegative সহগ) সম্পাদন করার পরে, এটি পরীক্ষার পরিসংখ্যান, p- মান ব্যতীত কেবল সহগকেই আউটপুট করে।

তাত্পর্য নিশ্চিত করার জন্য এই মানগুলি গণনা করা সম্ভব? এবং কেন এটি সরাসরি সফ্টওয়্যারটিতে পাওয়া যায় না (বা এই বিষয়ে অন্য কোনও সফ্টওয়্যার?)


2
আপনি "* গণনা করতে ... তাৎপর্য নিশ্চিত করার" দ্বারা কী বোঝাতে চেয়েছেন তা কি আপনি পরিষ্কার করতে পারেন? আপনি নিশ্চিত হতে পারবেন না যে আপনি উদাহরণস্বরূপ সাধারণ ন্যূনতম স্কোয়ারগুলিতে তাত্পর্য অর্জন করবেন; আপনি তাৎপর্যের জন্য যাচাই করতে পারেন, তবে আপনি এটি পাবেন তা নিশ্চিত করার কোনও উপায় আপনার কাছে নেই। আপনার অর্থ কি "সীমাবদ্ধ ন্যূনতম স্কোয়ার ফিট করে কোনও তাত্পর্য পরীক্ষা করার কোনও উপায় আছে?"
গ্লেন_বি

@ Glen_b প্রশ্নের শিরোনাম দেওয়া হয়েছে বলে আমি মনে করি "নিশ্চিতকরণ" নির্ধারণের সমান।
হেটারোস্কেস্টিক জিম

1
পুনঃটুইট এটি অবশ্যই উদ্দেশ্য হবে যদি নিশ্চিত উদ্দেশ্য ছিল।
গ্লেন_বি -রিনস্টেট মনিকা

হ্যাঁ, আমি বুঝিয়েছি যে নাল অনুমানটি প্রত্যাখ্যান করা হবে কি না তা যাচাই করার জন্য কীভাবে মানদণ্ডগুলি গণনা করতে হবে।
cgo

1
পি-মানগুলি প্রকাশের সাথে আপনার লক্ষ্য কী? তারা আপনার জন্য কী অর্থ / গুরুত্ব / কার্য করবে? আমি জিজ্ঞাসা করার কারণটি হ'ল যদি আপনি কেবলমাত্র আপনার মডেলটির বৈধতা সম্পর্কে আগ্রহী হন তবে আপনি এটির তথ্য ভাগ করে এবং প্রাপ্ত মডেলটি পরীক্ষা করার জন্য তথ্যের একটি অংশ ব্যবহার করে এবং এর কার্য সম্পাদনের পরিমাণগত পরিমাপ অর্জন করতে পারেন মডেল.
সেক্সটাস এম্পেরিকাস

উত্তর:


7

অ-নেতিবাচক সর্বনিম্ন স্কোয়ারগুলি সমাধান করা (এনএনএলএস) একটি অ্যালগরিদমের উপর ভিত্তি করে যা এটি নিয়মিত সর্বনিম্ন স্কোয়ার থেকে আলাদা করে তোলে।

স্ট্যান্ডার্ড ত্রুটির জন্য বীজগণিত প্রকাশ (কাজ করে না)

নিয়মিত ন্যূনতম স্কোয়ার সহ আপনি সহগের বৈচিত্রের জন্য অনুমানের সাথে টি-টেস্ট ব্যবহার করে পি-মানগুলি প্রকাশ করতে পারেন।

কোফিসিয়েন্টস হিসেব নমুনা ভ্যারিয়েন্স জন্য এই অভিব্যক্তি θ হল ভী একটি ( θ ) = σ 2 ( এক্স টি এক্স ) - 1 ত্রুটি ভ্যারিয়েন্স σ সাধারণত অজানা হতে হবে কিন্তু এটি অবশিষ্টাংশ ব্যবহার নির্ণয় করা যায় । Y এর পরিমাপের ক্ষেত্রে সহগতির জন্য অভিব্যক্তি থেকে শুরু করে এই অভিব্যক্তিটি বীজগণিতভাবে নেওয়া যেতে পারেθ^

ভীএকটিR(θ^)=σ2(এক্সটিএক্স)-1
σY

θ^=(এক্সটিএক্স)-1এক্সটিY

θ

বিপরীতে ফিশার তথ্য ম্যাট্রিক্স (প্রযোজ্য নয়)

কোফিসিয়েন্টস হিসেব ভ্যারিয়েন্স / বন্টন এছাড়াও এসিম্পটোটিকভাবে পন্থা পর্যবেক্ষিত ফিশার তথ্য ম্যাট্রিক্স :

(θ^-θ)এন(0,আমি(θ^))

তবে এটি এখানে ভাল প্রয়োগ হয় কিনা তা সম্পর্কে আমি নিশ্চিত নই। এনএনএলএস অনুমান কোনও পক্ষপাতদুষ্ট অনুমান নয়।

মন্টে কার্লো পদ্ধতি

যখনই প্রকাশগুলি খুব জটিল হয়ে যায় আপনি ত্রুটিটি অনুমান করার জন্য একটি গণনামূলক পদ্ধতি ব্যবহার করতে পারেন। সঙ্গে মন্টে কার্লো পদ্ধতি আপনি পরীক্ষা পুনরাবৃত্তির simulating দ্বারা পরীক্ষা যদৃচ্ছতা বিতরণের সিমুলেট (পুনঃগণনা / নতুন তথ্য মডেলিং) এবং এই উপর ভিত্তি করে আপনাকে কোফিসিয়েন্টস ভ্যারিয়েন্স অনুমান।

θ^σ^


3
χ2

@ শুভ আমি কোভারিয়েট ম্যাট্রিক্সের ফিশার তথ্য গণনার উপর ভিত্তি করে নীচে একটি সমাধান যুক্ত করেছি যার জন্য এনএনএল সহগগুলি ননজেগটিভ এবং সম্ভাব্য বক্ররেখাকে আরও প্রতিসাম্য করতে এবং সহগের উপর ইতিবাচক সীমাবদ্ধতাগুলি প্রয়োগ করতে রূপান্তরিত লগ স্কেলে এই ফিশারের তথ্য গণনা করছে। মন্তব্য স্বাগত!
টম Wenseleers

4

আপনি ব্যবহার ঠিক তবে, RI মনে করি তবে আপনাকে ব্যবহার করতে পারে bbmle'র mle2উপর নন-নেগেটিভ nnls কোফিসিয়েন্টস লিস্ট স্কোয়ার সম্ভাবনা ফাংশন নিখুত এবং 95% আস্থা অন্তর নিরূপণ করা ফাংশন। তদুপরি, আপনি অ্যাকাউন্টে নিতে পারেন যে আপনার সহগগুলি আপনার সহগের লগকে অনুকূলিত করে নেতিবাচক হতে পারে না, যাতে ব্যাক ট্রান্সফর্মস স্কেলে তারা কখনই নেতিবাচক হতে পারে না।

এই পদ্ধতির চিত্র তুলে ধরার জন্য এখানে একটি সংখ্যাসূচক উদাহরণ রয়েছে, এখানে গাউসিয়ান শব্দ নিয়ে গাউস-আকারের ক্রোমাটোগ্রাফিক শিখরগুলির একটি সুপারপজিশনকে ডিকনভোলিউটিংয়ের প্রসঙ্গে: (কোনও মন্তব্য স্বাগত)

প্রথমে কিছু তথ্য অনুকরণ করা যাক:

require(Matrix)
n = 200
x = 1:n
npeaks = 20
set.seed(123)
u = sample(x, npeaks, replace=FALSE) # peak locations which later need to be estimated
peakhrange = c(10,1E3) # peak height range
h = 10^runif(npeaks, min=log10(min(peakhrange)), max=log10(max(peakhrange))) # simulated peak heights, to be estimated
a = rep(0, n) # locations of spikes of simulated spike train, need to be estimated
a[u] = h
gauspeak = function(x, u, w, h=1) h*exp(((x-u)^2)/(-2*(w^2))) # shape of single peak, assumed to be known
bM = do.call(cbind, lapply(1:n, function (u) gauspeak(x, u=u, w=5, h=1) )) # banded matrix with theoretical peak shape function used
y_nonoise = as.vector(bM %*% a) # noiseless simulated signal = linear convolution of spike train with peak shape function
y = y_nonoise + rnorm(n, mean=0, sd=100) # simulated signal with gaussian noise on it
y = pmax(y,0)
par(mfrow=c(1,1))
plot(y, type="l", ylab="Signal", xlab="x", main="Simulated spike train (red) to be estimated given known blur kernel & with Gaussian noise")
lines(a, type="h", col="red")

এখানে চিত্র বর্ণনা লিখুন

আসুন এখন yপরিচিত গাউসিয়ান আকৃতির ব্লার কার্নেলের bM(এটি আমাদের কোভারিয়েট / ডিজাইনের ম্যাট্রিক্স) অনুলিপিযুক্ত একটি ব্যান্ডযুক্ত ম্যাট্রিক্সযুক্ত পরিমাপের গোলমাল সংকেতটিকে ডিসকনভলিউট করি ।

প্রথমে আসুন, সংক্রামিতকে নননিজেটিভ ন্যূনতম স্কোয়ারগুলির সাথে ডিসকনভলিউট করি:

library(nnls)
library(microbenchmark)
microbenchmark(a_nnls <- nnls(A=bM,b=y)$x) # 5.5 ms
plot(x, y, type="l", main="Ground truth (red), nnls estimate (blue)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_nnls, type="h", col="blue", lwd=2)
yhat = as.vector(bM %*% a_nnls) # predicted values
residuals = (y-yhat)
nonzero = (a_nnls!=0) # nonzero coefficients
n = nrow(bM)
p = sum(nonzero)+1 # nr of estimated parameters = nr of nonzero coefficients+estimated variance
variance = sum(residuals^2)/(n-p) # estimated variance = 8114.505

এখানে চিত্র বর্ণনা লিখুন

এখন আসুন আমাদের গাউসিয়ান ক্ষতির উদ্দেশ্য নেতিবাচক লগ-সম্ভাবনাটিকে অনুকূল করে তুলুন এবং আপনার সহগের লগকে অনুকূলিত করুন যাতে ব্যাক ট্রান্সফর্মস স্কেলে তারা কখনই নেতিবাচক হতে পারে না:

library(bbmle)
XM=as.matrix(bM)[,nonzero,drop=FALSE] # design matrix, keeping only covariates with nonnegative nnls coefs
colnames(XM)=paste0("v",as.character(1:n))[nonzero]
yv=as.vector(y) # response
# negative log likelihood function for gaussian loss
NEGLL_gaus_logbetas <- function(logbetas, X=XM, y=yv, sd=sqrt(variance)) {
  -sum(stats::dnorm(x = y, mean = X %*% exp(logbetas), sd = sd, log = TRUE))
}  
parnames(NEGLL_gaus_logbetas) <- colnames(XM)
system.time(fit <- mle2(
  minuslogl = NEGLL_gaus_logbetas, 
  start = setNames(log(a_nnls[nonzero]+1E-10), colnames(XM)), # we initialise with nnls estimates
  vecpar = TRUE,
  optimizer = "nlminb"
)) # takes 0.86s
AIC(fit) # 2394.857
summary(fit) # now gives log(coefficients) (note that p values are 2 sided)
# Coefficients:
#       Estimate Std. Error z value     Pr(z)    
# v10    4.57339    2.28665  2.0000 0.0454962 *  
# v11    5.30521    1.10127  4.8173 1.455e-06 ***
# v27    3.36162    1.37185  2.4504 0.0142689 *  
# v38    3.08328   23.98324  0.1286 0.8977059    
# v39    3.88101   12.01675  0.3230 0.7467206    
# v48    5.63771    3.33932  1.6883 0.0913571 .  
# v49    4.07475   16.21209  0.2513 0.8015511    
# v58    3.77749   19.78448  0.1909 0.8485789    
# v59    6.28745    1.53541  4.0950 4.222e-05 ***
# v70    1.23613  222.34992  0.0056 0.9955643    
# v71    2.67320   54.28789  0.0492 0.9607271    
# v80    5.54908    1.12656  4.9257 8.407e-07 ***
# v86    5.96813    9.31872  0.6404 0.5218830    
# v87    4.27829   84.86010  0.0504 0.9597911    
# v88    4.83853   21.42043  0.2259 0.8212918    
# v107   6.11318    0.64794  9.4348 < 2.2e-16 ***
# v108   4.13673    4.85345  0.8523 0.3940316    
# v117   3.27223    1.86578  1.7538 0.0794627 .  
# v129   4.48811    2.82435  1.5891 0.1120434    
# v130   4.79551    2.04481  2.3452 0.0190165 *  
# v145   3.97314    0.60547  6.5620 5.308e-11 ***
# v157   5.49003    0.13670 40.1608 < 2.2e-16 ***
# v172   5.88622    1.65908  3.5479 0.0003884 ***
# v173   6.49017    1.08156  6.0008 1.964e-09 ***
# v181   6.79913    1.81802  3.7399 0.0001841 ***
# v182   5.43450    7.66955  0.7086 0.4785848    
# v188   1.51878  233.81977  0.0065 0.9948174    
# v189   5.06634    5.20058  0.9742 0.3299632    
# ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# -2 log L: 2338.857 
exp(confint(fit, method="quad"))  # backtransformed confidence intervals calculated via quadratic approximation (=Wald confidence intervals)
#              2.5 %        97.5 %
# v10   1.095964e+00  8.562480e+03
# v11   2.326040e+01  1.743531e+03
# v27   1.959787e+00  4.242829e+02
# v38   8.403942e-20  5.670507e+21
# v39   2.863032e-09  8.206810e+11
# v48   4.036402e-01  1.953696e+05
# v49   9.330044e-13  3.710221e+15
# v58   6.309090e-16  3.027742e+18
# v59   2.652533e+01  1.090313e+04
# v70  1.871739e-189 6.330566e+189
# v71   8.933534e-46  2.349031e+47
# v80   2.824905e+01  2.338118e+03
# v86   4.568985e-06  3.342200e+10
# v87   4.216892e-71  1.233336e+74
# v88   7.383119e-17  2.159994e+20
# v107  1.268806e+02  1.608602e+03
# v108  4.626990e-03  8.468795e+05
# v117  6.806996e-01  1.021572e+03
# v129  3.508065e-01  2.255556e+04
# v130  2.198449e+00  6.655952e+03
# v145  1.622306e+01  1.741383e+02
# v157  1.853224e+02  3.167003e+02
# v172  1.393601e+01  9.301732e+03
# v173  7.907170e+01  5.486191e+03
# v181  2.542890e+01  3.164652e+04
# v182  6.789470e-05  7.735850e+08
# v188 4.284006e-199 4.867958e+199
# v189  5.936664e-03  4.236704e+06
library(broom)
signlevels = tidy(fit)$p.value/2 # 1-sided p values for peak to be sign higher than 1
adjsignlevels = p.adjust(signlevels, method="fdr") # FDR corrected p values
a_nnlsbbmle = exp(coef(fit)) # exp to backtransform
max(a_nnls[nonzero]-a_nnlsbbmle) # -9.981704e-11, coefficients as expected almost the same
plot(x, y, type="l", main="Ground truth (red), nnls bbmle logcoeff estimate (blue & green, green=FDR p value<0.05)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(x[nonzero], -a_nnlsbbmle, type="h", col="blue", lwd=2)
lines(x[nonzero][(adjsignlevels<0.05)&(a_nnlsbbmle>1)], -a_nnlsbbmle[(adjsignlevels<0.05)&(a_nnlsbbmle>1)], 
      type="h", col="green", lwd=2)
sum((signlevels<0.05)&(a_nnlsbbmle>1)) # 14 peaks significantly higher than 1 before FDR correction
sum((adjsignlevels<0.05)&(a_nnlsbbmle>1)) # 11 peaks significant after FDR correction

এখানে চিত্র বর্ণনা লিখুন

আমি ননপ্যারমেট্রিক বা প্যারামেট্রিক বুটস্ট্র্যাপিংয়ের সাথে তুলনামূলক এই পদ্ধতির পারফরম্যান্স তুলনা করার চেষ্টা করি নি, তবে এটি অবশ্যই আরও দ্রুত।

আমি এও ভাবতে আগ্রহী ছিলাম যে অব্যাহত nnlsফিশার ইনফরমেশন ম্যাট্রিক্সের উপর ভিত্তি করে অবিকৃত সহকারীগুলির জন্য ওয়াল্ডের আত্মবিশ্বাসের ব্যবস্থাগুলি গণনা করতে সক্ষম হব , ননগ্রেটিভিটি সীমাবদ্ধতাগুলি প্রয়োগ করার জন্য একটি লগ রুপান্তরিত সহগ স্কেলে গণনা করা হয়েছিল এবং nnlsঅনুমানগুলিতে মূল্যায়ন করা হয়েছিল ।

আমি মনে করি এটি এরকম হয়, এবং আসলে আমি mle2উপরে যা ব্যবহার করেছি তার সাথে আনুষ্ঠানিকভাবে এক হওয়া উচিত :

XM=as.matrix(bM)[,nonzero,drop=FALSE] # design matrix
posbetas = a_nnls[nonzero] # nonzero nnls coefficients
dispersion=sum(residuals^2)/(n-p) # estimated dispersion (variance in case of gaussian noise) (1 if noise were poisson or binomial)
information_matrix = t(XM) %*% XM # observed Fisher information matrix for nonzero coefs, ie negative of the 2nd derivative (Hessian) of the log likelihood at param estimates
scaled_information_matrix = (t(XM) %*% XM)*(1/dispersion) # information matrix scaled by 1/dispersion
# let's now calculate this scaled information matrix on a log transformed Y scale (cf. stat.psu.edu/~sesa/stat504/Lecture/lec2part2.pdf, slide 20 eqn 8 & Table 1) to take into account the nonnegativity constraints on the parameters
scaled_information_matrix_logscale = scaled_information_matrix/((1/posbetas)^2) # scaled information_matrix on transformed log scale=scaled information matrix/(PHI'(betas)^2) if PHI(beta)=log(beta)
vcov_logscale = solve(scaled_information_matrix_logscale) # scaled variance-covariance matrix of coefs on log scale ie of log(posbetas) # PS maybe figure out how to do this in better way using chol2inv & QR decomposition - in R unscaled covariance matrix is calculated as chol2inv(qr(XW_glm)$qr)
SEs_logscale = sqrt(diag(vcov_logscale)) # SEs of coefs on log scale ie of log(posbetas)
posbetas_LOWER95CL = exp(log(posbetas) - 1.96*SEs_logscale)
posbetas_UPPER95CL = exp(log(posbetas) + 1.96*SEs_logscale)
data.frame("2.5 %"=posbetas_LOWER95CL,"97.5 %"=posbetas_UPPER95CL,check.names=F)
#            2.5 %        97.5 %
# 1   1.095874e+00  8.563185e+03
# 2   2.325947e+01  1.743600e+03
# 3   1.959691e+00  4.243037e+02
# 4   8.397159e-20  5.675087e+21
# 5   2.861885e-09  8.210098e+11
# 6   4.036017e-01  1.953882e+05
# 7   9.325838e-13  3.711894e+15
# 8   6.306894e-16  3.028796e+18
# 9   2.652467e+01  1.090340e+04
# 10 1.870702e-189 6.334074e+189
# 11  8.932335e-46  2.349347e+47
# 12  2.824872e+01  2.338145e+03
# 13  4.568282e-06  3.342714e+10
# 14  4.210592e-71  1.235182e+74
# 15  7.380152e-17  2.160863e+20
# 16  1.268778e+02  1.608639e+03
# 17  4.626207e-03  8.470228e+05
# 18  6.806543e-01  1.021640e+03
# 19  3.507709e-01  2.255786e+04
# 20  2.198287e+00  6.656441e+03
# 21  1.622270e+01  1.741421e+02
# 22  1.853214e+02  3.167018e+02
# 23  1.393520e+01  9.302273e+03
# 24  7.906871e+01  5.486398e+03
# 25  2.542730e+01  3.164851e+04
# 26  6.787667e-05  7.737904e+08
# 27 4.249153e-199 4.907886e+199
# 28  5.935583e-03  4.237476e+06
z_logscale = log(posbetas)/SEs_logscale # z values for log(coefs) being greater than 0, ie coefs being > 1 (since log(1) = 0) 
pvals = pnorm(z_logscale, lower.tail=FALSE) # one-sided p values for log(coefs) being greater than 0, ie coefs being > 1 (since log(1) = 0)
pvals.adj = p.adjust(pvals, method="fdr") # FDR corrected p values

plot(x, y, type="l", main="Ground truth (red), nnls estimates (blue & green, green=FDR Wald p value<0.05)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_nnls, type="h", col="blue", lwd=2)
lines(x[nonzero][pvals.adj<0.05], -a_nnls[nonzero][pvals.adj<0.05], 
      type="h", col="green", lwd=2)
sum((pvals<0.05)&(posbetas>1)) # 14 peaks significantly higher than 1 before FDR correction
sum((pvals.adj<0.05)&(posbetas>1)) # 11 peaks significantly higher than 1 after FDR correction

এখানে চিত্র বর্ণনা লিখুন

এই গণনার ফলাফলগুলি এবং এর দ্বারা প্রাপ্ত ফলাফলগুলি mle2প্রায় অভিন্ন (তবে আরও দ্রুত), তাই আমি মনে করি এটি সঠিক এবং আমি এটির সাথে মিলিয়ে যাব যা আমরা স্পষ্টতই করছিলাম mle2...

nnlsনিয়মিত রৈখিক মডেল ফিট বিটিডব্লু ব্যবহার করে কোনও কোয়েটারিয়টকে ইতিবাচক সহগের সাথে পুনঃসংশোধন কাজ করে না, যেহেতু এই জাতীয় রৈখিক মডেল ফিট অযোগ্যতা বাধা বিবেচনা করে না এবং ফলস্বরূপ সংবেদনহীন আত্মবিশ্বাসের বিরতিগুলি নেতিবাচক হতে পারে। জেসন লি ও জোনাথন টেইলরের এই প্রবন্ধটি "প্রান্তিক স্ক্রিনিংয়ের জন্য সঠিক পোস্ট মডেল নির্বাচন অনুকরণ", নননিজেটিভ এনএনএল (বা ল্যাসো) সহগের উপর মডেল-পরবর্তী নির্বাচন অনুকরণ করার জন্য একটি পদ্ধতিও উপস্থাপন করে এবং এর জন্য কাটা কাটা গাউসীয় বিতরণ ব্যবহার করে। এনএনএলস ফিট করার জন্য এই পদ্ধতির কোনও প্রকাশ্যে উপলভ্য বাস্তবায়ন আমি দেখিনি - যদিও লাসো ফিট করে সেখানে বেছে বেছে বেছে নিনপ্যাকেজ যে কিছু করে। যদি কারও কাছে কোনও বাস্তবায়ন ঘটে থাকে তবে দয়া করে আমাকে জানান!

উপরের পদ্ধতিতে একজন প্রশিক্ষণ ও বৈধতা সেট (যেমন বিজোড় এবং এমনকি পর্যবেক্ষণ) -এও ডেটা বিভক্ত করতে পারে এবং প্রশিক্ষণের সেট থেকে ইতিবাচক সহগ সহ কোভেরিয়েটগুলি অনুমান করতে পারে এবং তারপরে যাচাইকরণ সেট থেকে আত্মবিশ্বাসের ব্যবধান এবং পি মানগুলি গণনা করতে পারে। এটি ওভারফিটিংয়ের বিরুদ্ধে কিছুটা প্রতিরোধী হবে যদিও এটি ক্ষমতার ক্ষতিও করতে পারে কারণ কেউ কেবলমাত্র অর্ধেক ডেটা ব্যবহার করবে। আমি এখানে এটি করিনি কারণ নিজের মধ্যে অদক্ষতা বাধা ইতিমধ্যে ওভারফিটিংয়ের বিরুদ্ধে রক্ষা করতে বেশ কার্যকর।


আপনার উদাহরণের সহগের বিশাল ত্রুটি থাকা উচিত কারণ কোনও স্পাইক খুব বেশি সম্ভাবনা প্রভাবিত না করে 1 পয়েন্ট দ্বারা স্থানান্তরিত করা যেতে পারে, বা আমি কিছু মিস করছি? এটি কোনও সহগকে 0 এবং পার্শ্ববর্তী 0
অ্যামিবা

হ্যাঁ ঠিক আছে। তবে জিনিসগুলি আরও ভাল হয়ে যায় যদিও আপনি বিরল সমাধানের পক্ষে অতিরিক্ত l0 বা l1 জরিমানা যোগ করেন। আমি অভিযোজিত রিজ অ্যালগরিদম ব্যবহার করে ফিট0 l0 পেনালাইজড এনএনএল মডেল ব্যবহার করছিলাম এবং এটি খুব স্পর্শ সমাধান দেয়। সম্ভাব্য অনুপাতের পরীক্ষাগুলি আমার ক্ষেত্রে একক টার্ম মুছে ফেলার মাধ্যমে কাজ করতে পারে তবে বাদ পড়ে থাকা পদটি দিয়ে মডেলটিকে রিফাইটিং না করে
টম ওয়েনসিলিয়ার্স

1
আমি ঠিক বুঝতে পারি না আপনি কীভাবে বৃহত্তর z মান সহ কিছু পেতে পারেন ...
অ্যামিবা

ওয়েল ননএগিটিভিটি সীমাবদ্ধতাগুলি অবশ্যই প্রচুর কোর্সকে সহায়তা করে যা সত্য যে আমরা নির্বাচনের পরের
অনুক্রমটি করছি

ওহ আমি বুঝতে পারি নি যে এটি পোস্ট-সিলেকশন ইনফরমেশন!
অ্যামিবা

1

মন্টি কার্লো পদ্ধতি @ মার্তিজন উল্লিখিত কর সম্পর্কিত বিষয়ে আরও সুনির্দিষ্ট হওয়ার জন্য, আপনি বুটস্ট্র্যাপ ব্যবহার করতে পারেন, একটি পুনর্নির্মাণের পদ্ধতি যা মূল ডেটা থেকে স্যাম্পলিং অন্তর্ভুক্ত করে (প্রতিস্থাপন সহ) একাধিক ডেটা সেটগুলি অনুমিত সহগের বিতরণ এবং তার জন্য কোনও সম্পর্কিত পরিসংখ্যান, আত্মবিশ্বাসের অন্তর এবং পি-মান সহ।

বহুল ব্যবহৃত পদ্ধতিটি এখানে বিশদ: এফ্রন, ব্র্যাডলি ley "বুটস্ট্র্যাপ পদ্ধতি: জ্যাকনিফের আরেকটি চেহারা" " পরিসংখ্যান মধ্যে ব্রেকথ্রু। স্প্রিংগার, নিউ ইয়র্ক, এনওয়াই, 1992. 569-593।

মতলব এটি বাস্তবায়ন করেছে, https://www.mathworks.com/help/stats/bootstrp.html বিশেষত বিভাগটির বুটস্ট্র্যাপিং শিরোনাম বিভাগটি দেখুন।


1
ত্রুটিগুলি গাউসিয়ান বিতরণ না করা হলে বুটস্ট্র্যাপিং বিশেষ ক্ষেত্রে কার্যকর হবে। এটি অনেকগুলি সমস্যার মধ্যে দেখা দিতে পারে যেখানে পরামিতিগুলি সীমাবদ্ধ থাকে (যেমন নির্ভরশীল পরিবর্তনশীলও সীমাবদ্ধ হতে পারে, যা গাউসীয় বিতরণের ত্রুটির সাথে দ্বন্দ্ব করে) তবে অগত্যা সর্বদা। উদাহরণস্বরূপ: যদি আপনার কোনও দ্রবণে রাসায়নিকের মিশ্রণ থাকে (যুক্ত উপাদানগুলির কঠোর ইতিবাচক পরিমাণে মডেলিং) এবং আপনি সমাধানের বেশ কয়েকটি বৈশিষ্ট্য পরিমাপ করেন তবে পরিমাপের ত্রুটিটি গাউসিয়ান বিতরণ হতে পারে যা প্যারামিট্রাইজড এবং আনুমানিক হতে পারে, আপনি এটি করেন বুটস্ট্র্যাপিংয়ের দরকার নেই।
সেক্সটাস এম্পেরিকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.