-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fuzziness argument in fuzzy_control function #79
Comments
Hello, can you elaborate on why you have that expectation? For example, if we assume that the truth is that there's only 1 cluster for the whole data set, trying to attempt fuzzy clustering with |
Dear Alexis,
thank you for the swift response.
my observation refers to the following statement (Fuzzy clustering -
Wikipedia <https://en.wikipedia.org/wiki/Fuzzy_clustering>)
[image: image.png]
on the above basis, with a parameter m (fuzzifier in the dtwcluster
library), I would probably expect membership values equal to 1 or 0, rather
than float numbers.
However, I noticed that the fuzziness parameter has only influence when:
centroid = "fcm"
when using centroid = "fcmdd" any there is no influence of the fuzziness
value. Perhaps is the correct behaviour but from my side I cannot say
muchmore at the moment.
I will investigate further from my side too, and let you know.
Thank you in advance for the help.
Grateful,
Luca
I
…On Wed, Nov 20, 2024 at 7:24 PM Alexis Sardá ***@***.***> wrote:
Hello, can you elaborate on why you have that expectation? For example, if
we assume that the truth is that there's only 1 cluster for the whole data
set, trying to attempt fuzzy clustering with k > 1 would likely yield a
membership degree of 1 / k for each entity in the data regardless of the
other parameters, no?
—
Reply to this email directly, view it on GitHub
<#79 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATTE7DISEKQVKHFVRT7TIGL2BTHU5AVCNFSM6AAAAABSEYQAKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBZGI3TIOJQHA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Hi Luca, github didn't render your email correctly, so I'm not sure which statement you were referring to, but if it's from the example, I don't think that's generalizable, that example concretely has most values closer to the extremes, and even then they're "massaging" the membership matrix into a single dimension in a way that could be confusing when compared to other cases. |
Hi Alexis,
Thank you for the follow up. What I am trying to say is that when using
centroid = "fcmdd" (see below set up of the tsclust function), for any
valid value of fuzziness parameter, you will get always the same membership
degree results, which seems to be incorrect. This is valid with any number
of cluster and fuzziness value.
Could you eventually advice which part of the source code is calculating
the membership degree when "fcmdd" is selected as centroid.
mvc <- tsclust(mydata, k = 5,
distance = c("dtw"),
seed = 555,
type = "fuzzy",
centroid = "fcmdd",
preproc = NULL,
contol = fuzzy_control(
fuzziness = 2, # <----- any value
here give always the same results when centroid = "fcmdd", rather than "fcm"
iter.max = 100L
)
Thank you in advance,
Grateful,
Luca
…On Fri, Nov 22, 2024 at 10:17 PM Alexis Sardá ***@***.***> wrote:
Hi Luca, github didn't render your email correctly, so I'm not sure which
statement you were referring to, but if it's from the example, I don't
think that's generalizable, that example concretely has most values closer
to the extremes, and even then they're "massaging" the membership matrix
into a single dimension in a way that could be confusing when compared to
other cases.
—
Reply to this email directly, view it on GitHub
<#79 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATTE7DNH3UGOS2HASSQNTDT2B6NNPAVCNFSM6AAAAABSEYQAKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJUHAZDMNJZGI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
The logic for partitional and fuzzy clustering is more or less shared, the calculation you care about should happen here: dtwclust/R/CLUSTERING-partitional-fuzzy.R Line 44 in 9efcdb0
You should be able to debug the code and see the values at each step with: debug(dtwclust:::pfclust)
# your tsclust call here |
Hi,
I would like to highlight that using the tsclust function with the following configuration:
tsclust(data, k = 3,
distance = "dtw",
seed = 123,
type = "fuzzy",
centroid = "fcmdd",
contol = fuzzy_control(
fuzziness = 2,
iter.max = 100L
))
when changing the fuzziness parameter, there is no change in the membership degrees of the data. In particular, for a fuzziness = 1.000001, I would expect having for each data row one membership degree close to 1 and the others close to zero. However, any value of fuzziness > 1 provide the same results in the membership degrees.
Thank you in advance for the attention..
Grateful,
Luca
The text was updated successfully, but these errors were encountered: