পাইথনে ওপেন সোর্স অ্যানোমালি ডিটেকশন


61

সমস্যার পটভূমি: আমি এমন একটি প্রকল্পে কাজ করছি যা আইটি মনিটরিং স্পেসে (আইটি স্পেস সম্পর্কে আমার সর্বোত্তম বোঝার জন্য) খুঁজে পাওয়া অনুরূপ লগ ফাইলগুলিতে জড়িত। এই লগ ফাইলগুলি টাইম-সিরিজ ডেটা, বিভিন্ন পরামিতিগুলির কয়েকশ / হাজারে সারিতে সংগঠিত। প্রতিটি প্যারামিটার সংখ্যাসূচক (ভাসা) এবং প্রতিটি সময় পয়েন্টের জন্য একটি তুচ্ছ / নন-ত্রুটিযুক্ত মান থাকে। আমার কাজটি হ'ল অস্বাভাবিক সনাক্তকরণের জন্য লগ ফাইলগুলি (স্পাইকস, ফলস, কিছু পরামিতি সিঙ্কের বাইরে থাকা, অদ্ভুত ১ ম / ২ য় / ইত্যাদি der ডেরিভেটিভ আচরণ ইত্যাদি) জন্য লগ ফাইলগুলি পর্যবেক্ষণ করা।

অনুরূপ অ্যাসাইনমেন্টে, আমি প্রিলার্টের সাথে স্প্লঙ্কটি চেষ্টা করেছি, তবে আমি এই মুহুর্তে ওপেন-সোর্স বিকল্পগুলি অন্বেষণ করছি।

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

এছাড়াও, আমি মুহূর্তের জন্য একটি উইন্ডোজ পরিবেশে কাজ করছি। আমি ছোট আকারের লগ ফাইলগুলিতে উইন্ডোজের স্যান্ডবক্সে চালিয়ে যেতে চাই তবে প্রয়োজনে লিনাক্স পরিবেশে যেতে পারি।

সংস্থানসমূহ: ফলাফল হিসাবে আমি মৃত-প্রান্তগুলি সহ নিম্নলিখিতগুলি পরীক্ষা করে দেখেছি:

  1. জালিয়াতি সনাক্তকরণের জন্য মেশিন লার্নিং অ্যালগরিদমগুলি প্রয়োগ করার জন্য পাইথন বা আর । এখানে কিছু তথ্য সহায়ক, তবে দুর্ভাগ্যক্রমে, আমি সঠিক প্যাকেজটি খুঁজতে লড়াই করছি কারণ:

  2. টুইটারের "অ্যানোমালি ডিটেকশন" আর এ আছে এবং আমি পাইথনকে আঁকড়ে রাখতে চাই। তদুপরি, পাইথন বন্দর অদ্ভুততা আমার জন্য উইন্ডোজ পরিবেশে প্রয়োগের ক্ষেত্রে সমস্যা সৃষ্টি করেছে।

  3. আমার পরবর্তী প্রচেষ্টা, স্কাইলাইন মনে হয় বেশ কিছুটা বন্ধ হয়ে গেছে ( গিথুব সমস্যাগুলি থেকে )। অনলাইনে সামান্য সমর্থন বলে মনে হচ্ছে তা দেওয়া হলেও আমি এর গভীরে ডুব দিয়েছি না।

  4. আমি এখনও সন্ধান করছি, কিন্তু এটি অনেক বেশি ম্যানুয়াল বলে মনে হচ্ছে। নিচু আগাছা পদ্ধতিটি আমার কাছে ঠিক আছে তবে শেখার সরঞ্জামগুলিতে আমার পটভূমি দুর্বল, সুতরাং স্প্লঙ্ক + প্রিলার্টের মতো অ্যালগরিদমের মতো প্রযুক্তিগত দিকগুলির জন্য একটি ব্ল্যাক বক্সের মতো কিছু চাই।

সমস্যার সংজ্ঞা এবং প্রশ্নসমূহ: আমি ওপেন-সোর্স সফ্টওয়্যারটি খুঁজছি যা পাইথনে টাইম-সিরিজ লগ ফাইলগুলি প্যাকেজ বা লাইব্রেরির মাধ্যমে অ্যানোমালি সনাক্তকরণের প্রক্রিয়াটি স্বয়ংক্রিয়করণে আমাকে সহায়তা করতে পারে।

  1. আমার তাত্ক্ষণিক কাজে সহায়তা করার জন্য এই জাতীয় জিনিসগুলি উপস্থিত রয়েছে, বা সেগুলি কি আমার মনে কাল্পনিক?
  2. ব্যাকগ্রাউন্ড ফান্ডামেন্টাল বা ধারণাগুলি সহ আমার লক্ষ্যতে আমাকে সহায়তা করতে কেউ কি দৃ concrete় পদক্ষেপে সহায়তা করতে পারেন?
  3. জিজ্ঞাসা করার জন্য এটিই কি সেরা স্ট্যাকএক্সচেঞ্জ সম্প্রদায়, বা স্ট্যাটস, ম্যাথ, এমনকি সুরক্ষা বা স্ট্যাকওভারফ্লো আরও ভাল বিকল্প?

সম্পাদনা করুন [২০১৫-০7-২৩] নোট করুন যে অদ্ভুততার সর্বশেষ আপডেটটি উইন্ডোজ পরিবেশের জন্য স্থির হয়েছে বলে মনে হচ্ছে ! আমি এখনও নিশ্চিত করতে পারি না, তবে সম্প্রদায়ের জন্য অন্য দরকারী সরঞ্জাম হওয়া উচিত।

সম্পাদনা [2016-01-19] একটি ছোট্ট আপডেট। আমার এটি নিয়ে গবেষণা এবং গবেষণার জন্য সময় ছিল না, তবে আমি সুনির্দিষ্ট বিবরণে গবেষণা চালিয়ে যাওয়ার আগে এই সমস্যার মৌলিক বিষয়গুলি বুঝতে আমি একটি পদক্ষেপ ফিরে নিচ্ছি। উদাহরণস্বরূপ, আমি যে দুটি দৃ concrete় পদক্ষেপ নিচ্ছি তা হ'ল:

  1. অসঙ্গত সনাক্তকরণের জন্য উইকিপিডিয়া নিবন্ধগুলি দিয়ে শুরু করা [ https://en.wikedia.org/wiki/Anomaly_detection ], সম্পূর্ণরূপে বুঝতে এবং তারপরে হয় অন্য লিঙ্কযুক্ত উইকিপিডিয়া নিবন্ধগুলির ধারণা বিকাশের উপরে বা নীচে সরানো, যেমন [ https: // en.wikedia.org/wiki/K-narerest_neighbors_algorithm ], এবং তারপরে [ https://en.wikedia.org/wiki/Machine_learning ]।

  2. চান্ডোলা এট আল ২০০৯ "অ্যানোমালি ডিটেকশন: একটি জরিপ" [ http://www-users.cs.umn.edu/~banerjee/papers/09/anomaly.pdf ] এবং হজ এট আল 2004 এর দুর্দান্ত সমীক্ষায় কৌশলগুলি অন্বেষণ করে "আউটিলার সনাক্তকরণ পদ্ধতির একটি সমীক্ষা" [ http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf ]।

ধারণাগুলি আরও ভালভাবে বুঝতে পারলে (আমি ব্যবহারিক দিকটিও উন্নত করতে গিয়ে খেলনার উদাহরণগুলি নিয়ে ঘুরে দেখব), আমি বুঝতে পারব যে কোন ওপেন সোর্স পাইথন সরঞ্জামগুলি আমার সমস্যার জন্য আরও উপযুক্ত।


আমি এই ভিডিওগুলি প্রস্তাব দিচ্ছি যদি আপনি কেবল সাইকিট
হার্ভে

এই মডিউলটিতে h2o লাইব্রেরি আমদানি হচ্ছে না।

1
আপনার সমস্যাটি সংজ্ঞায়িত। অনাদৃতিকে কী গঠন করে তার বিভিন্ন অর্থ হতে পারে। এটা কি মানে বিচ্যুতি? এটা কি আচরণের নির্দিষ্ট নিদর্শন? প্রতিটি ক্ষেত্রে বিভিন্ন পদ্ধতি প্রয়োগ হয়। অসঙ্গতিটি যদি গড় থেকে বিচ্যুতি হয় তবে আপনাকে "আউটিলার সনাক্তকরণ" সন্ধান করতে হবে। আপনি যদি সুনির্দিষ্ট নিদর্শনগুলির সন্ধান করছেন তবে স্নায়ুবিক নেটওয়ার্কগুলির মতো তত্ত্বাবধানে শেখার অ্যালগরিদমের সাথে আপনাকে আরও ভাল পরিবেশন করা হবে।
উইলেম ভ্যান ডেসবুর্গ

1
আমি জানি আপনি পাইথন চান, তবে অসাধারণ শনাক্তকরণের জন্য ELKI ব্যবহারের হাতিয়ার বলে মনে হচ্ছে।
অ্যানি-মৌসে

উত্তর:


35

অ্যানোমালি সনাক্তকরণ বা ইভেন্ট সনাক্তকরণ বিভিন্ন উপায়ে করা যেতে পারে:

বেসিক ওয়ে

অমৌলিক! যদি আপনার সিগন্যালের অতীত ও ভবিষ্যত থেকে বিচ্যুতি বেশি হয় তবে সম্ভবত আপনার কোনও ইভেন্ট হতে পারে। এটি সংকেতটির ডেরিভেটিভে বড় শূন্য ক্রসিংগুলি খুঁজে বের করে নেওয়া যেতে পারে।

পরিসংখ্যানগত উপায়

যে কোনও কিছুর মাঝারিটি হ'ল তার স্বাভাবিক, মৌলিক আচরণ। যদি কিছু থেকে বিচ্যুত হয় তবে এর অর্থ এটি কোনও ইভেন্ট। দয়া করে নোট করুন যে সময়-সিরিজের অর্থটি তুচ্ছ নয় এবং সময়-সিরিজের পরিবর্তন অনুসারে ধ্রুবক নয় বরং পরিবর্তিত হয় সুতরাং আপনাকে গড়ের পরিবর্তে "চলমান গড়" দেখতে হবে। দেখে মনে হচ্ছে:

ইভেন্টগুলি মুভিং এভারেজ থেকে 1 স্ট্যান্ডার্ড বিচ্যুতির চেয়ে বেশি পিক

চলন্ত গড় কোডটি এখানে পাওয়া যাবে । সংকেত প্রক্রিয়াকরণ পরিভাষায় আপনি চলন্ত গড় প্রয়োগ করে একটি "লো-পাস" ফিল্টার প্রয়োগ করছেন।

আপনি কোডটি অনুসরণ করতে পারেন:

MOV = movingaverage(TimeSEries,5).tolist()
STD = np.std(MOV)
events= []
ind = []
for ii in range(len(TimeSEries)):
    if TimeSEries[ii] > MOV[ii]+STD:
        events.append(TimeSEries[ii])

সম্ভাব্য উপায়

তারা মেশিন লার্নিংয়ে নতুনদের জন্য আরও পরিশীলিত। কলমন ফিল্টার ব্যতিক্রমগুলি খুঁজে পেতে একটি দুর্দান্ত ধারণা । "সর্বাধিক সম্ভাবনার প্রাক্কলন" ব্যবহার করে সহজ সম্ভাব্য পদ্ধতিগুলিও ভাল কাজ করে তবে আমার পরামর্শটি চলন্ত গড় ধারণা নিয়েই থাকুন। এটি অনুশীলনে খুব ভালভাবে কাজ করে।

আমি আশা করি আমি সাহায্য করতে পারি :) শুভকামনা!


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

15

h2o এর অসাধারণ সনাক্তকরণ মডিউল রয়েছে এবং traditionতিহ্যগতভাবে কোডটি আর-তে উপলব্ধ version তবে সংস্করণ 3 এর বাইরেও এটি একই ধরণের মডিউলটি পাইথনে পাওয়া যায় এবং এইচ 2o ওপেন উত্স হওয়ায় এটি আপনার বিলে ফিট করতে পারে।

আপনি এখানে একটি কাজের উদাহরণ দেখতে পারেন

import sys
sys.path.insert(1,"../../../")
import h2o

def anomaly(ip, port):
    h2o.init(ip, port)

    print "Deep Learning Anomaly Detection MNIST"

    train = h2o.import_frame(h2o.locate("bigdata/laptop/mnist/train.csv.gz"))
    test = h2o.import_frame(h2o.locate("bigdata/laptop/mnist/test.csv.gz"))

    predictors = range(0,784)
    resp = 784

    # unsupervised -> drop the response column (digit: 0-9)
    train = train[predictors]
    test = test[predictors]

    # 1) LEARN WHAT'S NORMAL
    # train unsupervised Deep Learning autoencoder model on train_hex
    ae_model = h2o.deeplearning(x=train[predictors], training_frame=train, activation="Tanh", autoencoder=True,
                                hidden=[50], l1=1e-5, ignore_const_cols=False, epochs=1)

    # 2) DETECT OUTLIERS
    # anomaly app computes the per-row reconstruction error for the test data set
    # (passing it through the autoencoder model and computing mean square error (MSE) for each row)
    test_rec_error = ae_model.anomaly(test)

    # 3) VISUALIZE OUTLIERS
    # Let's look at the test set points with low/median/high reconstruction errors.
    # We will now visualize the original test set points and their reconstructions obtained
    # by propagating them through the narrow neural net.

    # Convert the test data into its autoencoded representation (pass through narrow neural net)
    test_recon = ae_model.predict(test)

    # In python, the visualization could be done with tools like numpy/matplotlib or numpy/PIL

if __name__ == '__main__':
    h2o.run_test(sys.argv, anomaly)

ধন্যবাদ! আমি এই প্যাকেজটি এখনও বিবেচনা করি নি - আমি এটি প্রার্থীদের তালিকায় যুক্ত করব। স্পষ্ট করে বলার জন্য, আপনি যখন "ভার্সন 3 এর বাইরেও এটি পাইথনের সাথে একই ধরণের মডিউল রয়েছে", আপনি কি জানেন কী h2o এর অ্যানোমালি ডিটেকশন মডিউল (ভার্স 3 এর বাইরে) পাইথন, বা অন্য কোনও মডিউল পাওয়া যায় কিনা?
ximiki

1
@ এক্সিমিক ওয়েল, আমি তাদের সর্বশেষ সংস্করণ .0.০.০.২6 ( h2o-release.s3.amazonaws.com/h2o/rel-shannon/26/docs-website/… ) এর পাইথন ডকুমেন্টেশনটি পুনরায় পর্যালোচনা করেছি এবং দেখে মনে হচ্ছে h2o.anomaly নয় এখনও এর আর এপিআই এর বিপরীতে উপলভ্য I আমি তাদের গুগল গ্রুপে প্রশ্ন উত্থাপন করেছি (গ্রুপ. google.com/forum/#!topic/h2ostream/uma3UdpanEI ) এবং আপনি এটি অনুসরণ করতে পারেন।
0xF

1
ঠিক আছে, এইচ 2o সমর্থন গোষ্ঠীটি প্রশ্নের উত্তর দিয়েছে এবং অজগরটি পাইথনেও পাওয়া যায় n উদাহরণটি এখানে পাওয়া যায়। github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/…
0xF

পারফেক্ট! তদন্তের জন্য আপনাকে ধন্যবাদ। আমি ফলাফল সহ এই পোস্টে আপডেট করব।
ximiki

1
এইচ 2o পরীক্ষার লিঙ্কটি আর কাজ করে না, তবে একটি (সম্ভবত) সমতুল্য একটি রয়েছে: github.com/h2oai/h2o-3/blob/master/h2o-py/tests/testdir_algos/… (সংস্করণে জানুন লেখার সময় github.com/h2oai/h2o-3/blob/… )
আন্দ্রে হল্জনার

11

আমি সম্প্রতি একটি সরঞ্জামবাক্স তৈরি করেছি: পাই থোন উচ্চতর ডি ইটেকশন টুলবক্স ( পাইওডি )। গিটহাব দেখুন ।

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

  • ইউনিফাইড APIs, বিস্তারিত ডকুমেন্টেশন এবং বিভিন্ন অ্যালগরিদমে জুড়ে ইন্টারেক্টিভ উদাহরণ।
  • নিউরাল নেটওয়ার্ক / ডিপ লার্নিং এবং আউটিলার এনসেম্বলস সহ উন্নত মডেল।
  • নাম্বা ও জবলিব ব্যবহার করে জেআইটি এবং সমান্তরালতার সাথে পারফরম্যান্স অনুকূলকরণ। পাইথন 2 এবং 3 উভয়ের সাথেই সামঞ্জস্যপূর্ণ (বিজ্ঞানসম্মত-শিখতেও সামঞ্জস্যপূর্ণ)।

এখানে কয়েকটি গুরুত্বপূর্ণ লিঙ্ক রয়েছে:

আপনি যদি বৈজ্ঞানিক প্রকাশনায় পাইওড ব্যবহার করেন তবে আমরা নীচের কাগজগুলির উদ্ধৃতিগুলির প্রশংসা করব

@article{zhao2019pyod,
  title={PyOD: A Python Toolbox for Scalable Outlier Detection},
  author={Zhao, Yue and Nasrullah, Zain and Li, Zheng},
  journal={arXiv preprint arXiv:1901.01588},
  year={2019},
  url={https://arxiv.org/abs/1901.01588}
}

এটি বর্তমানে জেএমএলআর (মেশিন লার্নিং ওপেন-সোর্স সফ্টওয়্যার ট্র্যাক) এ পর্যালোচনাাধীন রয়েছে। প্রিপ্রিন্ট দেখুন ।


দ্রুত পরিচয়

পাইওড টুলকিট কার্যকারিতার তিনটি বড় গ্রুপ নিয়ে গঠিত: (i) আউটলেট সনাক্তকরণ অ্যালগরিদম; (ii) আউটলেটর নকশাকৃত কাঠামো এবং (iii) আউটিলার সনাক্তকরণ ইউটিলিটি ফাংশন।

পৃথক সনাক্তকরণ অ্যালগোরিদম :

  • পিসিএ : প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস (ইগেনভেেক্টর হাইপারপ্লেনের ওজনযুক্ত অনুমানযুক্ত দূরত্বের যোগফল)
  • এমসিডি : ন্যূনতম কোভারিয়েন্স নির্ধারণকারী (মহলানোবিস দূরত্বকে আউটলেট স্কোর হিসাবে ব্যবহার করুন)
  • ওসিএসভিএম : ওয়ান-ক্লাস সাপোর্ট ভেক্টর মেশিন
  • এলএফএফ : স্থানীয় আউটিলার ফ্যাক্টর
  • সিবিএলএফ : ক্লাস্টারিং-ভিত্তিক স্থানীয় আউটিলার ফ্যাক্টর
  • LOCI : LOCI: স্থানীয় সহযোগী ইন্টিগ্রাল ব্যবহার করে দ্রুত আউটলেট সনাক্তকরণ
  • এইচবিওএস : হিস্টগ্রাম-ভিত্তিক আউটলেটর স্কোর
  • কেএনএন : কে নিকটবর্তী প্রতিবেশী ( কেটি নিকটতম প্রতিবেশীর দূরত্বটি - ** আউটলারের স্কোর হিসাবে ব্যবহার করুন
  • এভিজিকেএনএন : গড় কেএনএন (আউটলারের স্কোর হিসাবে নিকটতম প্রতিবেশীদের কাছে গড়ে দূরত্ব ব্যবহার করুন)
  • মেডকেএনএন : মিডিয়ান কেএনএন (বাহ্যিক স্কোর হিসাবে নিকটতম প্রতিবেশীদেরকে মাঝারি দূরত্ব ব্যবহার করুন)
  • ABOD : অ্যাঙ্গেল-ভিত্তিক আউটিলার সনাক্তকরণ
  • ফাস্টাবোড : আনুমানিক ব্যবহার করে দ্রুত কোণ-ভিত্তিক আউটিলার সনাক্তকরণ
  • এসওএস : স্টোকাস্টিক আউটলেটর নির্বাচন
  • আইফোরেস্ট : বিচ্ছিন্নতা বন
  • ফিচার ব্যাগিং
  • এলএসসিপি : এলএসসিপি: প্যারালাল আউটিলার এনসেমবলসের স্থানীয়ভাবে নির্বাচনী সংমিশ্রণ
  • এক্সজিবিডি : এক্সট্রিম বুস্টিং বেসড আউটলেট সনাক্তকরণ (তদারকি)
  • অটো এনকোডার : সম্পূর্ণ সংযুক্ত অটো এনকোডার (আউটলেট স্কোর হিসাবে পুনর্গঠন ত্রুটি ব্যবহার করুন)
  • SO_GAAL : একক-উদ্দেশ্যমূলক জেনারেটাল অ্যাডভারসিয়াল অ্যাক্টিভ লার্নিং
  • মো_জিএএএল : একাধিক-উদ্দেশ্যমূলক জেনারেটাল অ্যাডভারসিয়াল অ্যাক্টিভ লার্নিং

আউটিলার ডিটেক্টর / স্কোর সংমিশ্রণ কাঠামো :

  • ফিচার ব্যাগিং
  • এলএসসিপি : এলএসসিপি: প্যারালাল আউটিলার এনসেমবলসের স্থানীয়ভাবে নির্বাচনী সংমিশ্রণ
  • গড় : স্কোরগুলির গড় দিয়ে সাধারণ সংমিশ্রণ
  • ওজনে গড় : ডিটেক্টর ওজনের সাহায্যে স্কোর গড় দিয়ে সাধারণ সংমিশ্রণ
  • বৃহদায়ন : সর্বোচ্চ স্কোর গ্রহণ করে সরল সমন্বয়
  • এওএম : সর্বোচ্চের গড়
  • মোআ : গড়ের সর্বাধিকীকরণ

আউটিলার সনাক্তকরণের জন্য ইউটিলিটি ফাংশন :

  1. স্কোর_ টো-লেবেল (): কাঁচা আউটলেটরের স্কোরগুলিকে বাইনারি লেবেলে রূপান্তর করুন
  2. নির্ভুলতা_ n_scores (): আউটলারের খনির জন্য জনপ্রিয় মূল্যায়ন মেট্রিকগুলির মধ্যে একটি (নির্ভুলতা @ র‌্যাঙ্ক এন)
  3. জেনারেট_ডেটা (): আউটিলার সনাক্তকরণ পরীক্ষার জন্য সিউডো ডেটা উত্পন্ন করুন
  4. ডাব্লু পিয়ারসনর (): ভারী পেয়ারসন সিউডো গ্রাউন্ড ট্রুথ জেনারেশনে কার্যকর

সমস্ত প্রয়োগকৃত মডেলের তুলনা নীচে উপলব্ধ করা হয়েছে: ( চিত্র , কোড , বৃহস্পতি নোটবুক ):এখানে চিত্র বর্ণনা লিখুন

আপনি যদি আগ্রহী হন তবে আরও তথ্যের জন্য দয়া করে গিথুব ( https://github.com/yzhao062/Pyod ) দেখুন।


8

আমি বর্তমানে আপনার মতো একই মঞ্চে আছি। আমি কিছু গবেষণা করে বেমানান সনাক্তকরণের জন্য সেরা বিকল্পটি খুঁজে পাচ্ছি।

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

আমি আরও খুঁজে পেয়েছি নুমেন্টার এনএবি (নুমেন্টা অ্যানোমালি বেঞ্চমার্ক)। এটির একটি খুব ভাল সম্প্রদায় সমর্থন এবং আপনার জন্য প্লাস পয়েন্ট এটির মুক্ত উত্স এবং পাইথনের বিকাশ। আপনি এটিতে আপনার অ্যালগরিদম যুক্ত করতে পারেন।

অ্যালগরিদমের ক্ষেত্রে, আমি দেখতে পেলাম এলওএফ বা সিবিএলএফ ভাল বিকল্প।

সুতরাং, একবার এটি পরীক্ষা করে দেখুন। এটি আপনাকে সাহায্য করতে পারে। https://github.com/numenta/nab

আপনি যদি আরও ভাল বিকল্প খুঁজে পান। দয়া করে আমাকে বলবেন. আমিও একই পথে আছি।

শুভকামনা!!


মূল্যবান তথ্যের জন্য ধন্যবাদ! আমি অবশ্যই এটি পরীক্ষা করে দেখব।
ximiki

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

@ ximiki আপনি বহুবিধ সময়-সিরিজের জন্য কোনও জিনিস খুঁজে পেয়েছেন। আমিও একই ধরণের সমস্যাটি দেখছি।
shubham003

7

হতে পারে এটি আপনাকে স্থিতিশীল রাজ্যগুলি সম্পর্কে উল্লেখ করতে সহায়তা করে: https://github.com/twitter/AnomalyDtetection

https://blog.twitter.com/2015/introducing-practical-and-robust-anomaly-detection-in-a-time-series


1
আপনার সময়ের জন্য ধন্যবাদ, তবে দয়া করে আমার "রিসোর্স" এর প্রথম বুলেটটি দেখুন; আমি এই বিকল্পটি পর্যালোচনা করেছি এবং এমন কিছু সন্ধান করছি যা আমার "সীমাবদ্ধতাগুলি" পূরণ করে।
ximiki

1
পুনরাবৃত্তি করা এবং সম্ভবত আরও কট্টর হওয়া, টুইটারের অ্যানোমালিডেটিশন প্যাকেজটি ব্যবহার করা এখানে কোনও বিকল্প নয়: দয়া করে "সীমাবদ্ধতা" বিভাগটি আরও সাবধানতার সাথে পড়ুন। আমি এ সম্পর্কে সাহায্য করার জন্য কোনও আন্তরিক প্রচেষ্টাকে নিন্দা জানাতে চাইছি না, তবে প্রশ্নটি পাইথন-ভিত্তিক প্যাকেজগুলির জন্য কঠোর। অতএব, ভবিষ্যতের ভোটারগণ, দয়া করে এই উত্তরটিকে অগ্রাহ্য করবেন না কারণ এটি ব্যবহারযোগ্য বিকল্প নয়। আমি ডাউনভোটিংয়ের মাধ্যমে এটির জন্য বর্তমান 2 টি ভোট সাফ করার পরামর্শ দিচ্ছি তবে সম্ভবত স্ট্যাকেক্সচেঞ্জের সম্প্রদায়ের মধ্যে এটি অনৈতিক বিষয় এবং কোনও ফাঁক ধরতে চাই না।
ximiki

1
আবার আমি এই বিষয়ে বীণা জানাতে ক্ষমাপ্রার্থী, তবে আমি অন্যদের জন্য একই ধরণের সমস্যার মুখোমুখি হয়ে এই প্রশ্নটি খুব স্পষ্ট এবং ব্যবহারযোগ্য করার চেষ্টা করছি, এবং চাই না যে তারা কোনও বুনো হাঁসের তাড়া করে চলে।
ximiki

6

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

তবে, আপনার বৈশিষ্ট্যটি সম্পূর্ণ লগফিলের ক্ষেত্রে আপনাকে প্রথমে একই মাত্রার কিছু বৈশিষ্ট্যে সংক্ষিপ্ত করতে হবে এবং তারপরে নতুনত্ব সনাক্তকরণ প্রয়োগ করতে হবে।


3

স্কাইলাইনের এখনও একটি সক্রিয় এবং বিকাশযুক্ত সংস্করণ রয়েছে, যদি কেউ এখানে উপস্থিত হন এবং আগ্রহী হন।

https://github.com/earthgecko/skyline

https://earthgecko-skyline.readthedocs.io/en/latest

আমি এই প্রকল্পের বর্তমান রক্ষণাবেক্ষণকারী এবং পারফরম্যান্স, ইউআই, সিজনালিটির আরও ভাল পরিচালনা করার ক্ষেত্রে এটি মূল ইস্টি সংস্করণের তুলনায় এখন অনেক বেশি অগ্রসর এবং সংশ্লেষণের গণনা এবং ফিঙ্গারপ্রিন্টের দক্ষতার গণনা এবং অসাধারণ নিদর্শন না শিখুন।


1

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

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

পাইথনে, কেরাস এপিআই (টেনসরফ্লো ব্যাকএন্ডের শীর্ষে) ব্যবহার করে একটি এলএসটিএম-আরএনএন প্রয়োগ করা প্রায় তুচ্ছ । এই নেটওয়ার্কটি স্বতন্ত্র সংখ্যার ইনপুট প্রদেয় সুদের সংকেত (গুলি) অনুমান করতে শেখে, যা পরে আপনি প্রকৃত পরিমাপক মানের সাথে তুলনা করেন। যদি "বড়" বিচ্যুতি হয়, আপনি একটি বিড়ম্বনা পেয়েছেন (মডেল যথেষ্ট সঠিক যে দেওয়া)!

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