রিগ্রেশনে লগ (0) শব্দটি কীভাবে এড়ানো যায়


10

আমার নিম্নলিখিত সাধারণ এক্স এবং ওয়াই ভেক্টর রয়েছে:

> X
[1] 1.000 0.063 0.031 0.012 0.005 0.000
> Y
[1] 1.000 1.000 1.000 0.961 0.884 0.000
> 
> plot(X,Y)

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

আমি এক্স-এর লগটি ব্যবহার করে রিগ্রেশন করতে চাই (

> summary(lm(Y~log(X)))
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
  NA/NaN/Inf in 'x'
> summary(lm(Y~log(1+X)))

Call:
lm(formula = Y ~ log(1 + X))

Residuals:
       1        2        3        4        5        6 
-0.03429  0.22189  0.23428  0.20282  0.12864 -0.75334 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)   0.7533     0.1976   3.812   0.0189 *
log(1 + X)    0.4053     0.6949   0.583   0.5910  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.4273 on 4 degrees of freedom
Multiple R-squared:  0.07838,   Adjusted R-squared:  -0.152 
F-statistic: 0.3402 on 1 and 4 DF,  p-value: 0.591

> summary(lm(Y~log(0.1+X)))

Call:
lm(formula = Y ~ log(0.1 + X))

Residuals:
       1        2        3        4        5        6 
-0.08099  0.20207  0.23447  0.21870  0.15126 -0.72550 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)  
(Intercept)    1.0669     0.3941   2.707   0.0537 .
log(0.1 + X)   0.1482     0.2030   0.730   0.5058  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.4182 on 4 degrees of freedom
Multiple R-squared:  0.1176,    Adjusted R-squared:  -0.103 
F-statistic: 0.5331 on 1 and 4 DF,  p-value: 0.5058

> summary(lm(Y~log(0.00001+X)))

Call:
lm(formula = Y ~ log(1e-05 + X))

Residuals:
       1        2        3        4        5        6 
-0.24072  0.02087  0.08796  0.13872  0.14445 -0.15128 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)     1.24072    0.12046  10.300 0.000501 ***
log(1e-05 + X)  0.09463    0.02087   4.534 0.010547 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.1797 on 4 degrees of freedom
Multiple R-squared:  0.8371,    Adjusted R-squared:  0.7964 
F-statistic: 20.56 on 1 and 4 DF,  p-value: 0.01055

> 
> summary(lm(Y~log(0.000000000000001+X)))

Call:
lm(formula = Y ~ log(1e-15 + X))

Residuals:
        1         2         3         4         5         6 
-0.065506  0.019244  0.040983  0.031077 -0.019085 -0.006714 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)     1.06551    0.02202   48.38 1.09e-06 ***
log(1e-15 + X)  0.03066    0.00152   20.17 3.57e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.04392 on 4 degrees of freedom
Multiple R-squared:  0.9903,    Adjusted R-squared:  0.9878 
F-statistic: 406.9 on 1 and 4 DF,  p-value: 3.565e-05

আউটপুট সব ক্ষেত্রেই আলাদা। রিগ্রেশন-এ লগ (0) এড়াতে সঠিক মানটি কী? এই ধরনের পরিস্থিতিতে সঠিক পদ্ধতি কি।

সম্পাদনা করুন: আমার মূল লক্ষ্য লগ শব্দ যুক্ত করে রেগ্রেশন মডেলটির পূর্বাভাস উন্নত করা, অর্থাত: এলএম (ওয়াই ~ এক্স + লগ (এক্স))


4
এগুলির , তারা সকলেই , সুতরাং 'নির্ভুলতার' কোনও ধারণা সেখানে আজেবাজে। এর মধ্যে কোনওটি জন্য 'সঠিক' নয় । তাদের মধ্যে চয়ন করতে, আপনার কী সম্পত্তি এবং কী সম্পত্তি ছেড়ে দিতে প্রস্তুত তা সম্পর্কে আপনাকে আরও বলতে হবে। আপনি আসলে কী অর্জন করার চেষ্টা করছেন? লগ ( এক্স + সি ) লগ ( এক্স )log(x)log(x+c)log(x)
গ্লেন_বি -রিনস্টেট মনিকা

আমি lm (Y ~ X + লগ (এক্স)) ব্যবহার করে রিগ্রেশন মডেলটির পূর্বাভাস উন্নত করতে চাই। এর জন্য লগ (0) এড়ানোর জন্য আপনার প্রস্তাবনাটি কী হবে?
rnso

5
তুমি পারবে না আছে লগ (এক্স) সেখানে; আপনি ইতিমধ্যে এটি প্রতিষ্ঠিত। তাহলে আপনি আসলে কী অর্জন করার চেষ্টা করছেন? আপনি লগ (0) নিতে পারবেন না , আপনি কি রিগ্রেশন থেকে বেরিয়ে আসতে চান? আপনি কেন সেখানে লগ (এক্স) চান? সেখানে লগ (এক্স) না রেখে আপনি কী সহ্য করতে পারেন?
গ্লেন_বি -রিনস্টেট মনিকা

3
এখানে বিজ্ঞান কী? এটি কী করা উচিত তার গাইড হওয়া উচিত।
নিক কক্স

1
rnso আমি সেখানে এমন কিছু দেখতে পাচ্ছি না যা আমি উত্থাপিত বিষয়গুলিকে সম্বোধন করে (বা আরও গুরুত্বপূর্ণভাবে, নিক নিক কক্স উত্থাপিত), বা সত্যিকার অর্থে এমন কিছু যা এখানে প্রশ্নের উত্তরকে নির্দেশ করবে না।
গ্লেন_বি -রিনস্টেট মনিকা

উত্তর:


8

যতটা ছোট ধ্রুবক হ'ল এটি যে আপনি বৃহত্তর আউটলেট যোগ করবেন তা হ'ল আপনি তৈরি করবেন: এখানে চিত্র বর্ণনা লিখুন

সুতরাং এখানে কোনও ধ্রুবককে ন্যায়সঙ্গত করা কঠিন। আপনি এমন রূপান্তরটি বিবেচনা করতে পারেন যা ০ এর সাথে কোনও সমস্যা নেই, উদাহরণস্বরূপ তৃতীয় আদেশের বহুবচন।


X + x ^ 2 + x ^ 3 লগ (এক্স) এর সমান? আমি কেন লগ মান ব্যবহার করার চেষ্টা করছি তার জন্য অন্যান্য উত্তরে আমার মন্তব্যগুলি দেখুন see
rnso

2
তারা সমতুল্য নয়, বিকল্প।
মার্টেন বুইস

10

আপনি লগারিদম প্লট করতে চান কেন? ভেরিয়েবলগুলি যেমন রয়েছে তেমন প্লট করার ক্ষেত্রে কী ভুল?

লগগুলি নিয়ে কাজ করার একটি কারণ হ'ল যখন ধরে নেওয়া হয় যে উত্পন্ন উত্পাদক বিতরণ লগ-সাধারণ হয়, উদাহরণস্বরূপ।

আর একটি হ'ল সংখ্যাটি স্কেল প্যারামিটারগুলি উপস্থাপন করে বা গুণকভাবে ব্যবহার করা হয়, সেই ক্ষেত্রে তারা যে স্থানটিতে পড়ে থাকে তা স্বাভাবিকভাবেই লোগারিথমিক হয় (একই কারণে যে স্কেল পরিবর্তনের আগে জেফরিগুলি লোগারিথমিক হয়) is

এগুলির কোনোটাই ঘটনা নয়। আমি মনে করি এখানে সঠিক উত্তরটি এটি করবেন না। প্রথমে ডেটা উত্পন্ন মডেলটি উপস্থিত করুন এবং তারপরে আপনার ডেটাটি এমনভাবে ব্যবহার করুন যা তার সাথে সামঞ্জস্যপূর্ণ।

মনে হচ্ছে আপনি যা করার চেষ্টা করছেন তা হ'ল ইনপুটগুলির যথাসম্ভব ফাংশন যুক্ত করা যাতে আপনি একটি "দুর্দান্ত ফিট" পান। আপনি এই ফাংশনগুলির কোনওটি কেন যুক্ত করবেন না: http://en.wikedia.org/wiki/List_of_mathematical_function ? ওহ, আপনি সম্ভবত একারম্যান ফাংশনের মতো এগুলির মধ্যে অনেকগুলি হাস্যকর বলে মনে করেন। এগুলি হাস্যকর কেন? আপনি যুক্ত ইনপুট প্রতিটি ফাংশন মূলত একটি সম্পর্কের আপনার অনুমান। আমাদের উভয়ের পক্ষে এটি ধারণা করা শক্ত যে ইউলারের মোট ফাংশন প্রয়োগ করা । এই জন্যই আমার বিরুদ্ধে নই একটি ফাংশন হচ্ছে । আপনি আমার কাছে এই হাইপোথিসিসটি ব্যাখ্যা না করলে এটি আমার কাছে সমান হাস্যকর বলে মনে হয়।x y লগ xyxylogx

আপনি কেবলমাত্র ইনপুটগুলির ক্রমাগত ফাংশন যুক্ত করে যাচ্ছেন তা হ'ল একটি অতিশয় মডেল। আপনি যদি এমন একটি মডেল চান যা প্রকৃতপক্ষে ভালভাবে বৈধ হয়, আপনার ভাল অনুমান করা এবং মডেল শেখার জন্য পর্যাপ্ত ডেটা থাকতে হবে। আপনি যত বেশি অনুমান করবেন, আপনার যত বেশি পরামিতি হবে, তত বেশি ডেটা আপনার প্রয়োজন হবে।


আমি লগ প্লট করতে চাই না। আমি রিগ্রেশনে ভেরিয়েবল এক্স ব্যবহার করতে চাই। সেরা ফিট করার জন্য, আমি অনুমান করি আমাদের লগ এবং বহুবচনও অন্তর্ভুক্ত করা উচিত। তার জন্য আমার লগ মানগুলি প্রয়োজন।
rnso

@ আরএনএসো: সুতরাং আপনি কী ভাবছেন যে লক্ষ্য মান এই ইনপুটগুলির একটি পণ্য? লক্ষ্য মানটি ইনপুটগুলির সাথে গুণমানগতভাবে ইনপুট শূন্য হতে পারে তার সাথে সম্পর্কিত হওয়া খুব অদ্ভুত।
নিল জি

পণ্য নয় তবে যোগফল। আমি সূত্রটি ব্যবহার করার চেষ্টা করছি: lm (Y ~ X + লগ (এক্স))
rnso

1
@ আরএনএসো: হ্যাঁ, তবে এই লগ শর্তাদি যুক্ত করা যেমন প্রোড এক্স_আই , এবং আপনি কেন ভাবেন যে যদি শূন্য হতে পারে? x ieyxiwixi
নিল জি

1
আপনি লগ শব্দটি বাদ দেন। আপনার কাছে ইতিমধ্যে লগ শব্দটির সহগ রয়েছে: একটি সংখ্যা নয়
ক্যালাথ

3

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

X<-c(1.000, 0.063, 0.031, 0.012, 0.005, 0.000)
Y<-c(1.000, 1.000, 1.000, 0.961, 0.884, 0.000)

library(drc)
mod1<-drm(Y ~ X, fct=LL.2())
summary(mod1)

#Model fitted: Log-logistic (ED50 as parameter) with lower limit at 0 and upper limit at 1 (2 parms)
#
#Parameter estimates:
#  
#  Estimate  Std. Error     t-value p-value
#b:(Intercept) -1.5131e+00  1.4894e-01 -1.0159e+01  0.0005
#e:(Intercept)  1.3134e-03  1.8925e-04  6.9401e+00  0.0023
#
#Residual standard error:
#  
#  0.005071738 (4 degrees of freedom)  

plot(X,Y)
lines(seq(0, 1, 0.001), predict(mod1, data.frame(X=seq(0, 1, 0.001))))

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


1

Y বনাম এক্সের প্লটটি দেখে, কার্যকরী রূপটি খুব উচ্চ আলফা সহ y = 1 - এক্সপ্রেস (-alpha x) হিসাবে উপস্থিত হয়। এটি এক ধাপের ফাংশনের খুব কাছাকাছি নয় এবং এই ডেটা ফিট করার জন্য আপনার প্রচুর পরিমাণে বহুভুতের প্রয়োজন হবে (এক্সপ্রেস (এক্স) এর সাথে বিবেচনা করুন = 1 + x + x ^ 2/2! + + X ^ n / এন! + ...)। পুনঃরঙকরণের পদগুলি, আমরা এক্সপ্রেস (-ালফা এক্স) = 1-y পাই। আপনি যদি এখন লগগুলি গ্রহণ করেন তবে এটি -alpha x = লগ (1-y) দেয়। আপনি একটি নতুন ভেরিয়েবল z = লগ (1-y) সংজ্ঞায়িত করতে পারেন এবং ডেটা সেরা ফিট করে এমন আলফা খুঁজে বের করার চেষ্টা করতে পারেন। কীভাবে y = 1 পরিচালনা করবেন তা আপনার কাছে এখনও সমস্যা রয়েছে তবে আমি আপনার সমস্যার প্রসঙ্গটি জানি না তবে আমার ধারণাটি হ'ল আপনাকে এক্স অ্যাসোমোপোটিকভাবে 1 এর কাছে 1 এর কাছাকাছি পৌঁছানোর বিষয়ে ভাবতে হবে এবং y আসলে কখনই 1-এ পৌঁছায় না।

এই সম্পর্কে আরও কিছু ভাবতে ভাবতে অবাক হচ্ছি যে ডেটা আসলে ওয়েইবুল বিতরণ y = 1 - এক্সপ (-ালফা এক্স ^ বিটা) থেকে এসেছে কিনা wonder পুনরায় সাজানোর পদগুলি, আমরা বিটা লগ (x) = লগ (-লগ (1-y)) - লগ (আলফা) পাই এবং আমরা আলফা এবং বিটা পেতে ওএলএস ব্যবহার করতে পারি। Y = 1 পরিচালনা করার বিষয়টি রয়ে গেছে।


ধন্যবাদ। ভাল বিশ্লেষণ।
আরএনএসো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.