home Forums # Technical Support Fuzzy logic in classiification

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #914
    Unknown
    Member

    Fuzzy logic is most known for its application in control. However, it could be used also in classification, i.e. when one needs to assign an object to one of a few classes (in many practical applications merely two) according to some observable features.

    Credit scoring is commonly known example of classification problems. Let us assume we have to assign scoring to a company based on its financials: good or bad. Let’s say we know from investigation of historical data the likelihood of bankruptcy depends heavily on two factors:
    a. current assets, i.e. how much cash or easy-to-cash stuff the company has,
    b. cash flow, i.e. how much cash it can generate.

    Obviously, to have the model size independent we need to normalize both factors, e.g. by current liabilities (how much it has to pay soon).

    Look at the following model:

    Engine: Credit
    InputVariable: current_assets
      enabled: true
      range: 0.000 3.000
      term: good SShape 0.500 2.000
    InputVariable: cash_flow
      enabled: true
      range: -3.000 3.000
      term: good SShape -0.100 1.500
      term: excellent SShape 0.250 2.000
    OutputVariable: scoring
      enabled: true
      range: -2.000 2.000
      accumulation: none
      defuzzifier: WeightedAverage
      default: 0.000
      lock-valid: false
      lock-range: false
      term: good Constant -2.000
      term: bad Constant 2.000
    RuleBlock: 
      enabled: true
      conjunction: Minimum
      disjunction: Maximum
      activation: AlgebraicProduct
      rule: if current_assets is good and cash_flow is good then scoring is good
      rule: if current_assets is not good and cash_flow is not good then scoring is bad
      rule: if cash_flow is excellent then scoring is good

    Load it and play! Disclaimer: this is an out-of-blue example without any applicability in real life.

    The output value has its interpretation too: the probability of default = 10^scoring. So, if the output is 2, it means the default is practically certain. If you play with the model you can see the output equals 1 when cash flow is bad and current assets are good. In this case the model says “I don’t know” and assumes the probability of 1 percent, which basically is the average of bankruptcies annually (at least in my country).

    A (debatable) by-conclusion of the example is that the Sugeno approach seems to be better (simpler) for classification.

    I hope you like the example.

    Witold

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.