ฉันประสบปัญหา Exception error
(น่าประหลาดใจ) ขณะทำการทดสอบทางสถิติแบบขนานกับ Math.Net Numerics
และฉันต้องการทราบเหตุผล
using MathNet.Numerics.Distributions;
....
var stable = new Stable(1.7, -0.7, 0.0087, 0.9103);
double b = stable.Density(3.2);
double a = stable.Density(5.1);
Console.WriteLine(b);
Console.WriteLine(a);
ข้อผิดพลาด: มีข้อยกเว้นที่ไม่สามารถจัดการได้ประเภท System.NotSupportedException
เกิดขึ้นใน MathNet.Numerics.dll
ฉันคาดหวังว่าจะได้ b = 2.2484e-06
, a = 4.3977e-07
ป.ล. การแจกแจงแบบคลาสสิกอื่นๆ เช่น Gamma
ใช้งานได้โดยไม่มีปัญหา (เช่น การแจกแจงความน่าจะเป็น ), ตัดสินว่าปัญหาการติดตั้งใดๆ กับแพ็คเกจ
ดีที่สุด,
แก้ไข: จาก Github พื้นที่เก็บข้อมูล ฉันได้เพิ่ม Stable.cs ในโครงการของฉันที่มีคุณสมบัติและวิธีการทั้งหมด
ที่จริงแล้วคุณสมบัติทำงานได้ดี ดูภาพประกอบด้านล่างจาก Program.cs:
Stable st = new Stable(1.7, -0.7, 0.0087, 0.9103); // correct instantiation
Console.WriteLine(string.Format(" Characteristic exponent: {0}\n
Skewness: {1}\n Scale: {2}\n Location: {3}" ,st.Alpha, st.Beta,
st.Scale,st.Location));
อย่างไรก็ตาม ไม่มีอะไรที่ไร้เหตุผลเท่าที่ฉันกังวล ในการเรียกเมธอด Density
ตาม object
: st.Density(3.2)
ซึ่งควรจะส่งคืน:
PDF(_alpha, _beta, _scale, _location, x);
ดังนั้นจึงเป็นเรื่องยากที่จะสรุปปัญหา method definition
เว้นแต่ว่าผู้คนจะคัดค้านความคิดเห็นนี้ด้วยภาพประกอบที่ถูกต้อง
ยิ่งไปกว่านั้น สำหรับค่าพิเศษของ stable parameters
(เช่น _alpha = 2.0
เป็นต้น) PDF
ที่กำหนดไว้จะส่งกลับ 0
(แปลก)